1

例如我有这样的历史

A -> B -> C -> F -> G ---------- feature
           \
            D -> E  -------- master

在整个历史中,我有一个文件a.txt,其中包含第一行,比如“sometext”。在提交G时,我决定删除“sometext”并将第一行留空。然后我合并这两个分支。新提交形成,第一行为空白。所以E包含“sometext”行而G不包含。所以这是正在合并的分支之间的差异。git 如何决定合并提交中包含的内容?是因为G是在E之后制作的吗?

4

1 回答 1

3

在这种情况下,它将识别C两个分支的共同祖先,并比较每个分支上的祖先C..GC..E.

由于C..E不触线,但触线,C..G'G改变被采取。如果两个分支以不同的方式更改同一行,它会要求您手动解决冲突。

这是一个3 路合并:请参阅这个老问题进行一些讨论,并在文档中的合并策略部分了解更多合并选项。

于 2013-11-04T16:34:18.023 回答