ブランチ内のすべてのgitコミットをマスターブランチにマージすることはできますか?複数のブランチコミットをマスターにマージする
たとえば、ブランチ 'test'に複数のコミット(1,2,3)を追加するとします。それらはすべてtest.pyに関連していますが、競合はありません。 コミット1とコミット2をマージできますが、コミットできません3
GUIツールが好きです。
ブランチ内のすべてのgitコミットをマスターブランチにマージすることはできますか?複数のブランチコミットをマスターにマージする
たとえば、ブランチ 'test'に複数のコミット(1,2,3)を追加するとします。それらはすべてtest.pyに関連していますが、競合はありません。 コミット1とコミット2をマージできますが、コミットできません3
GUIツールが好きです。
あなたの質問のようにコミットが順調である場合は、コメントに記載されているように、git merge <2>
(ここで<2>
はあなたの質問でコミット2と呼ばれるものを参照する方法です):SHA-1 。
git checkout master
git cherry-pick <1>
git cherry-pick <2>
... #However many more you want to cherry pick
注:最後から2番目の分岐test
にコミットのハッシュまたはtest^
より一般的に
、あなたはそうのようなtest
にコミットする特定によって行われた変更を、選び出すためにgit cherry-pick
を使用することができますこれは私です実際にはマージではありません。マスターブランチの上にコミットを再現します。しかし、これはどのようにしなければならないのですか:ブランチの一部をマージするのは意味がありません。代わりにマージする場合は、test
がmaster
から分岐し、チェリーが必要なコミットを選択してから、そのブランチをマージして、コミット時に新しいブランチを作成できます。
'git merge'は1つをマージします[see footnote] * commit *。だからこの特定のケースでは、 'git merge'は第3のコミットではなく、第2のコミットです。しかし、あなたの質問の形式は、 'git merge'が何をしているのか誤解していることを示しています。 (これはなぜあなたがdownvoteになったのですか?私はdownvoteをやっていませんでした、私は誰がやったのか分かりません)。[脚注] Gitは "タコのマージ"と呼ばれるものを複数のコミットをマージしますが、あなたが思っているものから。 – torek