为什么另一行的更改会引起git merge冲突? 分支基地 branch-a

问题描述

修改了不同分支中的不同行,但是这些更改发生git merge冲突。 我读过the post,但我认为这些变化发生在完全不同的行中。

这是我的测试代码

分支基地

Hello,my first conflict.
Second line.a    # add a single character 'a' at line 2
Third line.

branch-a

Hello,my first conflict.
Second line.
Third line.a    # add a single character 'a' at line 3

我执行了以下代码,它说git merge冲突。

$ git checkout branch-base
$ git merge branch-a

这是我的冲突文件

Hello,my first conflict.
<<<<<<< HEAD
Second line.a
Third line.
=======
Second line.
Third line.a
>>>>>>> branch-a

为什么会发生这种冲突?我想我以完全不同的方式进行了更改(尽管它们是相邻的。)

解决方法

至少必须有一条单独的分隔线保持相同,以便可以将它们分开对待,而不会产生冲突。假设它们之间没有被在所有3个修订版(两个提示共同祖先)上都保持相同的行分隔,则将它们视为一个块。一个分支以一种方式修改该块,另一分支以另一种方式修改...因此,冲突。