17

2つのブランチを持つリポジトリがあります。

マスターブランチのコミット:

c1、c2、c3、c4、c5、c6、c7、...、c15、..。

ステージングブランチのコミット:

c1、c2、c3、c4、c5、c6、c7

すべてのコミットをc7以降のマスターブランチからステージングブランチに移動したい

その後、マスターブランチを元に戻します

git reset --hard c7-hash

特定のコミットをあるブランチから別のブランチに移動/コピーする方法は?

4

1 に答える 1

35

ステージング ブランチのすべてのコミットがマスター ブランチにもある、説明したケースでは、非常に簡単です。

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

于 2013-02-04T23:48:27.727 に答える