2つのブランチを持つリポジトリがあります。
マスターブランチのコミット:
c1、c2、c3、c4、c5、c6、c7、...、c15、..。
ステージングブランチのコミット:
c1、c2、c3、c4、c5、c6、c7
すべてのコミットをc7以降のマスターブランチからステージングブランチに移動したい
その後、マスターブランチを元に戻します
と
git reset --hard c7-hash
特定のコミットをあるブランチから別のブランチに移動/コピーする方法は?
2つのブランチを持つリポジトリがあります。
マスターブランチのコミット:
c1、c2、c3、c4、c5、c6、c7、...、c15、..。
ステージングブランチのコミット:
c1、c2、c3、c4、c5、c6、c7
すべてのコミットをc7以降のマスターブランチからステージングブランチに移動したい
その後、マスターブランチを元に戻します
と
git reset --hard c7-hash
特定のコミットをあるブランチから別のブランチに移動/コピーする方法は?
ステージング ブランチのすべてのコミットがマスター ブランチにもある、説明したケースでは、非常に簡単です。
git checkout staging
git merge master
git checkout master
git reset --hard c7-hash
マージは早送りになります。
git cherry-pick c8 c9 c10 c11 c12 c13 c14 c15
一般的なケースでは、現在のブランチへの個々のコミットをチェリー ピックするために使用できます。マスター上にあるが現在のブランチではないすべてのコミットをチェリーピックするより短い方法はgit cherry-pick ..master
、 で示されている他の例がありますgit help cherry-pick