我试图围绕git冲突,为什么合并这两者会导致冲突呢?
分支master
上的file.txt:
This is line number one
分支feature
上的file.txt:
This is line number one
This is line number two
答案 0 :(得分:8)
通常,这不会导致冲突(假设基础文件中没有第二行)。但在这种情况下,您分别将 file.txt添加到master
和feature
(这就是文件不在共同祖先中的原因)。当一个文件被独立地添加到两个分支然后被合并并且它们以任何方式不同时,Git认为它是冲突的。
原因是Git需要一个基本副本来确定合并后文件的状态。例如,让我们说是一个基本文件,它只有一行。在这种情况下,Git会知道在feature
中添加了一行,因此最终文件将包含两行。但是,如果基本文件有两行,Git会知道在master
中删除了一行,因此最终文件只有一行。在你的情况下,没有基本文件,所以Git不知道文件的哪个版本应该" win"。