rebase --interactive (squash/re-order) | 複数のcommitを1つにまとめる/順序を入れ替える (★★★)
難易度 :star: :star: :star:
概要
git rebase -i (--interactive)
でコミットログの編集ができるログ編集画面でリストの先頭を
squash
に書き換えるとその前のコミットと統合されるリストの順序を入れ替えるとコミットの順序が入れ替わる
例題 (リポジトリ: git-drill/add-patch)
:octocat:
index.html
の過去3回のcommitの順序を入れ替えよ:octocat: 任意のcommit複数個を1つのcommitに統合せよ
(1の後に2を実行すること)
例題回答1
git rebase -i HEAD~3
vim画面で先頭が以下の表示になっていることを確認
(直近の2コミットの順序を入れ替える場合) vim画面で1行目と2行目を入れ替えて保存
Successfully rebased and updated refs/heads/master.
が表示されていることを確認
例題回答2
git rebase -i HEAD~3
vim画面で先頭が以下の表示になっていることを確認(コミットハッシュは実際と異なる場合があります)
(3コミットを統合する場合) vim画面で2行目と3行目の行頭を
squash
に書き換えて保存任意のコミットメッセージを入力して保存
git log --oneline
で統合されたcommitができていることを確認
演習
TODO
Last updated