5

我试图解决 git 冲突,为什么合并这两者会导致冲突?

分支上的 file.txt master

This is line number one

分支上的 file.txt feature

This is line number one
This is line number two
4

1 回答 1

9

通常,这不会导致冲突(假设基本文件中没有第二行)。但是在这种情况下,您file.txt 单独添加到masterand feature(这就是该文件不在共同祖先中的原因)。当一个文件被独立添加到两个分支,然后合并,它们有任何不同时,Git 认为这是一个冲突。

这样做的原因是 Git 需要一个基本副本来确定合并后文件的状态。例如,假设有一个基本文件,它只有一行。在这种情况下,Git 会知道在 中添加了一行feature,因此最终文件将包含这两行。但是,如果基本文件有两行,Git 会知道在 中删除了一行master,因此最终文件将只有一行。在您的情况下,没有基本文件,因此 Git 不知道该文件的哪个版本应该“获胜”。

于 2015-06-16T15:05:19.327 回答