私は同じブランチ上に2つのコミットを持っています。最初のコミットにファイルAの変更を追加してから、他のファイルにいくつか変更を加えた後、別のコミットを行いました。今度は、ファイルAへの変更を最初のコミットではなく2番目のコミットにしたいと思います。最もエレガントな方法は何ですか?変更をあるコミットから別のコミットにどのように移すべきですか?
答えて
、といつものgitに小さくあるべきで、最も簡単な方法はgit reset HEAD^^
にあり、その後、もう一度それらを行うコミット:
はこちらを参照してください。これに対する解決策には、履歴の書き換えが含まれていることに注意してください。これらのコミットを既にどこかにプッシュしている場合は、実行していることがわからない限り、実行しないでください。
"とコミットは常に小さくなければなりません" 確か... – Betamos
かなり複雑な答えですが、基本的にはスカッシュとベースです。彼らは小さなコミットしている場合はhttp://davidwalsh.name/squash-commits-git
これらのコミットを作成したばかりのイベントでは、git reset HEAD^
で2番目のコミットを取り消してから、最初のコミットに変更を追加してgit commit --amend
とします。
移動した可能性が高く、コミットが過去のある時点であった場合、リベースが最適なオプションです。あなたの正確な状況を知らずに、それをうまく説明している参考文献を引用するのがおそらく最も良いでしょう。
第1回目と2回目のイベントの両方で、Pro Gitの本の履歴書き直しセクションでは、オプションをいつ使うべきか注意を使うべきかをよく説明しています。
私は、この目的を満たすために、スクリプトを書きました。あなたはそれをチェックアウトすることができますhere。この問題への
mv-changes HEAD~ HEAD fileA
別の解決策を
- 2つのコミット直前にコミット検索を(おそらくこれは、masterブランチである) :それはのように単純になり、スクリプトを使用して
- 実行
git rebase -i <commit before commits to be reordered>
(ほとんどの場合、git rebase -i master
) - テキストエディタで、コミットの順番を入れ替えます(vimの場合は、あなたはGitがリベース確認することができ、残り
- 1. Gitコミットからのいくつかの変更を別のコミットに移します。
- 2. gitで1つのコミットから別のコミットに変更されたファイルの数を調べるには
- 3. コミットを別のブランチに変更する
- 4. 特定のファイルをGitのあるコミットから別のコミットに移動しますか?
- 5. すべてのコミットをブランチから別のブランチに移動する方法は?
- 6. すべての変更がコミットされたにもかかわらず、Gitはチェックアウトマスターの変更をコミットまたは隠すように求めますか?
- 7. コミットを別のブランチに移動する
- 8. 変更をプロジェクトにコミットするにはどうすればよいですか?
- 9. 1つのブランチからすべてのコミットを1つのコミットとして簡単に別のブランチに移動できますか?
- 10. git pullのすべてのコミット後にローカルコミットを移動するにはどうすればよいですか?
- 11. あるコミットに別のコミットの変更が含まれている場合、どのようにマージしますか?
- 12. コミットの順序変更は、他のコミット後に変更されますか?
- 13. あるブランチから別のブランチにコミットする方法(
- 14. GitHubプロジェクトの最初のコミットに対する変更をどのように比較できますか?
- 15. git 1つのコミットから別のブランチに変更を適用する
- 16. すべてのコミットを特定のコミットから新しいブランチに移動する方法
- 17. Android Studio Gitが別のブランチにコミットされた変更を移動する
- 18. OLDESTコミットから特定のブランチ上のすべてのコミットを時系列順にどのように表示するのですか?
- 19. gitコミットをmasterから別の既存のブランチに移動する方法
- 20. Gitリポジトリ:どのように逆の後にローカル変更をコミットする
- 21. 「変更をコミットするか隠す」とはどういう意味ですか?
- 22. gerritが他のコミットを変更しないようにするにはどうすればいいですか?
- 23. 裸のレポのブランチから最後のコミットをコミットしないにはどうしたらいいですか?
- 24. SQLiteで変更をコミットするには?
- 25. タグ付きコミットからファイルを変更することはできますか?
- 26. MySQLでは、どのようにBEGIN;ロールバック;コミット。自動コミットに関連する?
- 27. 別のブランチの最新コミットからの変更のみを統合する
- 28. 古いコミットをgitの別のブランチに移動するには?
- 29. diffがどのコミットから構成されているかをどのように発見できますか?
- 30. ":"で始まるファイルをどのようにコミット/削除できますか?
を行うレンス
ddp
保存この質問は「Gitを使って私の最後のXコミットを一緒にコミットする」という特別なケースです。https://stackoverflow.com/questions/5189560/squash-my-last-x-commits-together-using -git –