0

Git 在一个简单的情况下无法合并,但运行我的合并工具不会显示任何冲突,并且仅关闭合并工具会产生正确的合并结果。

我正在使用 git 版本 1.7.10.msysgit.1 并且我在合并时遇到了这个奇怪的问题。

我有一个包含“123”的文件,然后分支 A 和分支 B 都是从文件的上述版本生成的。

在分支 B 我将“新行”添加到文件的第 2 行以获得“123 新行”

然后在分支 B 我将“123”更改为“12345”

在分支 A 上,我选择了 B 的更改,添加了“新行”

在分支 A 上,我与 B 合并,当我在文本编辑器中打开文件时出现“123”“12345”冲突,但如果我启动合并工具,不做任何更改并关闭它,冲突会自动解决,我可以继续。

我想知道的是,当没有人触及分支 A 的第一行时,为什么 git 会认为文件的第一行存在冲突。

有没有办法让 git 在这些情况下自动合并而不打扰我?

4

1 回答 1

0

这是因为您选择了从 B 到 A 的更改。这实质上是“复制”了修改该行的提交。现在,在两个分支的共同祖先之后,两个不同的提交修改了同一行。因此,git 无法知道哪个提交是您想要的正确提交,因此它表明存在冲突让您选择。

于 2012-06-27T13:56:25.060 回答