我试图解决 git 冲突,为什么合并这两者会导致冲突?
分支上的 file.txt master
:
This is line number one
分支上的 file.txt feature
:
This is line number one
This is line number two
我试图解决 git 冲突,为什么合并这两者会导致冲突?
分支上的 file.txt master
:
This is line number one
分支上的 file.txt feature
:
This is line number one
This is line number two
通常,这不会导致冲突(假设基本文件中没有第二行)。但是在这种情况下,您将file.txt 单独添加到master
and feature
(这就是该文件不在共同祖先中的原因)。当一个文件被独立添加到两个分支,然后合并,它们有任何不同时,Git 认为这是一个冲突。
这样做的原因是 Git 需要一个基本副本来确定合并后文件的状态。例如,假设有一个基本文件,它只有一行。在这种情况下,Git 会知道在 中添加了一行feature
,因此最终文件将包含这两行。但是,如果基本文件有两行,Git 会知道在 中删除了一行master
,因此最终文件将只有一行。在您的情况下,没有基本文件,因此 Git 不知道该文件的哪个版本应该“获胜”。