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は1回または2回行われますか?

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 に答える