Git合并 - 琐碎合并?

时间:2010-09-23 22:39:22

标签: git git-merge conflict

如果基础和源具有相同的文件内容,并且目标分支/ repo有一些其他文件更改,它保留哪些内容,源文件或目标文件?

详细解释

       A 
       | 
       B 
      / \
     C   D 

假设在A-> B边缘上添加了一个文件,然后在B-> C中再次删除该文件,而在B-> D边缘单独留下该文件。 我们想要合并C和D.

如果共同的祖先是A,那么在合并C和D时,A没有变化(因此A,C没有文件&B,D有文件)。

如果C(目的地)从D合并后会发生什么?

如果D(目的地)从C合并后会发生什么?

1 个答案:

答案 0 :(得分:5)

合并是对称的(除了合并最终在一个分支或另一个分支上的事实)。它将应用双方的更改并报告在此过程中遇到的任何冲突更改。在这种情况下,由于只有一侧有变化,因此最终结果看起来与具有变化的一侧相同。

顺便说一句,你可以非常安全地尝试这些操作,看看他们会做什么;如果事情变成梨形,只需undo。但请务必注意链接文章底部的警告。