git合并如何处理常见提交?

时间:2013-10-09 19:32:01

标签: git

在Git文档中,Git rebase指定何时存在公共提交,将跳过此常见提交:

  

如果上游分支已包含您所做的更改(例如,   因为你邮寄了一个上游应用的补丁,然后那个   提交将被跳过。例如,运行'git rebase master`   以下历史(其中A'和A介绍相同的一组   更改,但有不同的提交者信息):

并想象它:

          A---B---C topic
         /
    D---E---A'---F master

成为:

                   B'---C' topic
                  /
    D---E---A'---F master

我的问题是:当您进行合并而不是使用rebase时,在这种情况下会发生什么?

编辑:更重要的是......提交A做了一次还是两次?

1 个答案:

答案 0 :(得分:2)

它会变成,

      A---B---C      topic
     /          \
D---E---A'---F -- F'    master

https://www.kernel.org/pub/software/scm/git/docs/git-merge.html

它说Except in a fast-forward merge (see above), the branches to be merged must be tied together by a merge commit that has both of them as its parents.显然这不是一个ff。