我正在编写一个文本文件,它的名字是"f2.txt"。 我为文件的每一行做了一个提交。 其内容将是:
L1
L2 L3
L4
换句话说,它有四个提交。
每行的每个提交。
所以我试图恢复提交。我有冲突。 即使我认为这样做我也不会发生任何冲突,因为它是每行的提交。(不是同一行(
但是,是的,我确实有冲突,甚至做这样简单的事情。
这里发生了什么?
为什么我会遇到冲突?
谢谢。
我假设您尝试恢复不是最后一次的提交。
当上下文更改时,会发生冲突。
您有 4 个提交:
- 将 l1 - 新行添加到空文件
- 添加 l2 - 在 l1 之后和文件末尾之前
- 添加 l3 - 在 l2 之后和文件末尾之前
- 添加 l4 - 在 l3 之后和文件末尾之前
现在,您尝试还原第三次提交。 Git 不确定该怎么做,它可以看到之前的 l2,但它期待文件结束,而是你有 l4。
它显然比这复杂一些。 patch 命令足够智能,可以检测移动的行等等,但基本上就是这样。
更新
除了手动解决冲突之外,我真的看不到任何解决方案。
您可以阅读有关 git-tower 中的合并和冲突的信息