为什么换行会出现git合并冲突?

Why changes in another line arise git merge conflict?

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

这是我的测试代码。

分支基地

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

分支-a

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

然后我执行了下面的代码,它说 git 合并冲突。

$ 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 个修订版中保持相同的线分隔(两个提示 共同的祖先),那么它们被视为一个块。一个分支以一种方式修改该块,另一个以另一种方式修改...因此,冲突。