haiju's 開発メモ

開発に必要な情報を自分用にメモ

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

 

[参考サイト]

git-scm.com

www.granfairs.com

kgsuzuki1994.github.io

fukuchiharuki.me

jpn.itlibra.com