ブランチ「マスター」でコミットしようとしたときに、ブランチ「テスト」で誤って10回コミットしました。 「testing」ブランチの他のコミットはガベージなので、「master」とマージしたくありません。代わりに、マスターで最後の10個のコミットを再生したいだけです。
?
リベースはそれを行う必要があります。
git rebase -p --onto master testing~10 testing
これにより、テストの最後の10個のコミットがマスターにコピーされ、新しいテストになります(古いテストは孤立します)。次に、マスターを早送りとしてテストにマージできます。
git checkout master
git merge testing
コメントで述べたように、rebase
に触発された答えは「ガベージ」コミットを孤立させたままにするです。
簡単なツールを使用するだけです。
git checkout master
git merge testing
git checkout testing
git reset --hard HEAD~10 # Go back 10 commits (*1)
git checkout master
(* 1)testing
のおかげでmaster
にコミットがあるため、merge
ブランチからのコミットのみが「失われます」。