我想合并两个git repo,但我被告知它们无法自动解决。
我想在终端中键入一系列命令,并从任何一个repo中的文件中获取阻止自动进行合并的行列表。
我百分之百肯定我不是第一个有这个问题的人(事实上,我想每个试图合并两位数回购的人都有这个问题),但我很难找到一个简单的答案(或任何答案)。尽管如此,我相信答案是存在的,而且可能很简单。Git通过算法确定不可合并的冲突,由于我们处理的是文本文件,而不是量子现象,我不明白为什么在我真正合并两者之前,很难观察到哪些冲突是不可合并。
我找不到任何东西的原因可能是因为没有人使用git来做这件事,而我在合并repos时的工作流程与其他人的工作流程正交——如果是这样的话,请启发我!
谢谢!
Git的一大优点是几乎所有事情都可以撤消。
执行合并、diff,然后放弃合并尝试。
git merge -n blah
(-n
将确保未提交合并)git diff > conflicts.txt
-
盈利 git reset --hard HEAD
你可以在第二步中做任何你喜欢的事情来调查冲突,第三步会把它全部扔掉。
如果以某种方式发生了合并,您可以立即git reset --hard HEAD@{1}
来撤消合并,或者稍后git reset --hard <id before the merge>
。