53

ブランチ「マスター」でコミットするつもりだったときに、誤ってブランチ「テスト」で 10 個のコミットを行ってしまいました。「testing」ブランチの他のコミットはガベージなので、「master」とマージしたくありません。代わりに、マスターで最後の 10 件のコミットを再生したいだけです。

4

3 に答える 3

108

リベースはそれを行う必要があります。

git rebase -p --onto master testing~10 testing

これにより、テストの最後の10個のコミットがマスターにコピーされ、新しいテストになります(古いテストは孤立します)。次に、マスターを早送りとしてテストにマージできます。

git checkout master
git merge testing
于 2009-06-10T02:10:29.157 に答える
24
  1. git チェックアウト マスター
  2. git whatchanged テスト
  3. git チェリーピック _________

?

于 2009-06-10T01:20:57.820 に答える
1

コメントで述べたように、rebaseインスパイアされた答えは、「ゴミ」コミットを孤立させたままにすることです。

シンプルなツールを使用するだけです:

git checkout master
git merge testing
git checkout testing
git reset --hard HEAD~10   # Go back 10 commits (*1)
git checkout master

testing(*1)ブランチからmasterコミットを「失う」だけですmerge

于 2015-11-23T15:51:33.430 に答える