0

在 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

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

编辑:更重要的是......提交 A 是否完成一次或两次?

4

1 回答 1

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。

于 2013-10-09T19:43:28.883 回答