Git撤销导致合并冲突。

8
我创建了一个虚拟文本文件,并在每次提交时输入新行,例如:

//dummy.txt
first commit
second commit
third commit

现在我想通过撤销第二次提交来删除第二行。然而在这个简单实验中,我遇到了合并冲突。有人能解释一下为什么吗?

1个回答

11

你的例子并不像你想象的那么简单,因为你所做的更改都在连续的行上。主要问题在于第三次提交引入的差异实际上取决于第二次提交所做的更改。Git存储每个提交的完整树,但仍需要能够按照先前的提交来表达提交的差异(不知道这对你是否有意义)。

如果您尝试通过对同一文件的不同部分进行三次提交来执行相同的操作,则第二次提交的还原将不会失败。由于默认上下文差异为3,因此如果您的编辑距离彼此超过3行,它不应该失败。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接