ブランチ "master"でコミットしようとしたときに、私が偶然ブランチ "testing"で10コミットを作った。 "testing"ブランチ上の他のコミットはガベージであるので、私は "master"とマージしたくありません。代わりに、私はマスター上の最後の10回のコミットを再生したいだけです。最後のN gitコミットを別のブランチで再生する
答えて
- Gitチェックアウトマスター
- gitが
- gitの桜ピック_________
をテストwhatchanged?
Rebaseはそれを行う必要があります。
git rebase -p --onto master testing~10 testing
これはマスターし、新しいテスト(旧試験は孤児になる)ことを確認するためのテストに最後の10回のコミットをコピーします。その後、マスターを早送りとしてテストにマージすることができます。
git checkout master
git merge testing
これが転記される前に使用されたRonの答え。 –
これは、masterと同じポイントでテストを残し、 'garbage'コミットが孤立したままになることに気付くでしょう。これは良いことかもしれません。もう一つの可能性はgit checkout masterです。 git reset - ハードテスト。 git rebase --onto HEAD @ {1} HEAD〜10 –
@CharlesBaileyあなたはそこにヒットするつもりですか? – Fredrick
としてはrebase
-inspired答えはを孤立コミット 'ごみ' を残しで、コメントで述べています。
git checkout master
git merge testing
git checkout testing
git reset --hard HEAD~10 # Go back 10 commits (*1)
git checkout master
あなたはmerge
へmaster
おかげでそれらのコミットをしていますので、(* 1)あなたが唯一、testing
ブランチからコミットを「失う」ことになります。
は単純なツールを使用しています。
- 1. Git rebase対話型最後のnコミット
- 2. ブランチ上の最後のgitコミットのIDを取得する
- 3. Squash GITでのマージ後のブランチのコミット
- 4. マージ後のGit push(force)は別のブランチにコミットします
- 5. 最後のxを別のブランチにコミットする方法は?
- 6. マージ後のGitブランチとコミット履歴
- 7. git pushクロスブランチ、あるブランチから別のブランチへコミットをフェッチ
- 8. 最後のn個のコミットをsvnからgit repoに移動
- 9. 最後の3つのコミットでgit orphanブランチを作成するには?
- 10. gitのmasterブランチで最初にコミットする前に、後で作成したブランチを移動するには?
- 11. Git:マスターから別のブランチにコミットする
- 12. Git:コミットの一部を別のブランチに適用する
- 13. 古いコミットをgitの別のブランチに移動するには?
- 14. Git:特定のコミットを別のブランチに移動する。
- 15. gitのブランチに最新のマージをコミットする方法
- 16. 最後のコミットの日付を持つgitブランチを表示します
- 17. コミットのないGit checkoutブランチ
- 18. Git:コミットを元に戻す方法と最後のブランチに戻す
- 19. 最後のgitコミットの修正を
- 20. Gitは最後のコミットを押して別のブランチに先に格納します
- 21. Gitブランチを新しいコミットにする
- 22. Git - ブランチをチェックアウトした後にコミットを回復する
- 23. 最後の月をエクスポートgitコミット
- 24. git戻るブランチのコミットのカップル
- 25. git-svn:あるSVNブランチから別のSVNブランチにgitコミットをコピーするには?
- 26. Gitインタラクティブリベース再コミット
- 27. のgit:別のブランチ
- 28. gitとコミット番号の最後のコミットを読む
- 29. コミットを別のブランチに移動する
- 30. コミットを別のブランチに変更する
fyi-cherry-pickは一度に1つのコミットだけを行いますので、チェリーピケットテスト〜9、テスト〜8テスト...などがあります。だから私は、Talljoeが提案したリベースアプローチを好む理由です...もちろん、結果は同じです。実際に、対話的にrebaseを行うと、gitは実際にチェリーピックをボンネットの下で使用します。 –
@PatNotz 'git cherry-pick'は現在、現在複数のコミットを同時に行うことができます(例えば' git cherry-pick testing〜10..testing')。 –
決して 'cherry-pick'を使うべきではありません。詳細については、[この記事を読む](http://www.draconianoverlord.com/2013/09/07/no-cherry-picking.html)を参照してください。 – Tim