2つ以上前のコミットログを修正するには?
頭がボーッとしていたのか?ノートにコミットログをまとめていたのに
誤って2回も2つ以上前のコミットログを修正しないといけないポカを
やらかしたので、修正手順を備忘録としてメモしておく(ΦωΦ;;
[手順]
1. 自分が変更したいコミットログの1つ前のコミット識別子を確認。
$ git log --oneliner
2. 1を引数にrebaseコマンドを実行。
$ git rebase -i 1つ前のコミット識別子(英数字7桁)
※ただし、rebaseコマンドはcommit済みのログに対して変更が可能なので、
もし、「Cannot rebase: You have unstaged changes. Please commit or
stash them.」と怒られたら、全てcommitするか無理な場合は、現状を
stash saveでバックアップしておく。
$ git stash save
3. 2のコマンドを実行すると、エディタが起動するので下記のように修正し
保存。
pick 対象のコミット識別子(英数字7桁) --- こちらのpickをedit に修正
pick 1つ前のコミット識別子(英数字7桁)
4. edit を指定しrebaseが停止したら以下コマンドを実行してコミットログを修正し
保存。
$ git comment --amend
5. 修正が完了したら、以下のコマンドを実行。
$ git rebase --continue
※5の後、successfullyと表示されればOK。
6. stash saveしていたら、修正前の作業状態に戻しておく。
$ git stash pop
[参考サイト]