私はgit rebaseに似ていますが、並列コミットを折りたたまないで実行したいと思います。
次のコミットがあるとします。
B (bar)
/
A-C-D (foo)
次に、DがブランチfooのCに導入した変更を取得し、ブランチバーのBに適用します。私は次のようになります:
B-E (bar)
/
A-C-D (foo)
コミットBとEの違いは、コミットCとDの違いと同じです。これは可能ですか?パッチを作成せずにそれを行う方法はありますか?
はい:
git checkout -b mergebranch B
git cherry-pick D
チェリーピックアウトするブランチの最後のコミット(例ではfoo)がマージコミットの場合、git cherry-pick branchname~1
を使用してチェリーピックへの特定のコミットをポイントし、以前のコミットを取得できますマージの親。
私の場合、別のブランチの特定のコミットの変更を適用する必要がありました。私はそれらをそのようにチェリーピッキングすることでそれをしました:git cherry-pick COMMIT-HASH
。