57
        C---D  =>b1
      /    
     /  E---F  =>b2
     | /   
  A--B =======> master
     | \
     \  G---H  =>b3
      \ 
       I---J   =>b4

b1b2b3b4をにマージしたいのですmasterが、一度にマージできますか?

何かのようなもの:

git checkout master
git merge b1 b2 b3 b4
4

2 に答える 2

57

Git のmergeコマンドは、複数のマージ戦略をサポートしています。一度に 2 つ以上のブランチをマージできる 2 つの戦略があります。

それぞれのあまり正式でない説明については、この質問も参照してください。

たこ

これにより、ヘッドが 3 つ以上ある場合は解決されますが、手動での解決が必要な複雑なマージは拒否されます。これは主に、トピックのブランチ ヘッドをまとめるために使用することを目的としています。これは、複数のブランチをプルまたはマージする場合のデフォルトのマージ戦略です。

最後のステートメントは、 を行う場合、タコ戦略git merge branch1 branch2 ...を使用することを意味します。

私たちのもの

これにより任意の数のヘッドが解決されますが、マージの結果のツリーは常に現在のブランチ ヘッドのツリーになり、他のすべてのブランチからのすべての変更が効果的に無視されます。これは、サイドブランチの古い開発履歴に取って代わるために使用されることを意図しています。

ユースケースの例については、この質問を参照してください。

于 2013-04-26T14:29:00.413 に答える