TIL

Today I Learned. 知ったこと、学んだことを書いていく

2つ以上前のコミットのメッセージを修正する

1つ前のコミットのメッセージを修正

$ git commit --amend

2つ以上前のコミットのメッセージを修正

rebase -iを使う。

以下のような履歴になっているとする。

$ git log
commit c2f0fceb7ef52e5155fea67c7370bd318597ec30 (HEAD -> master)
Author: t-ohsaka <t-ohsaka@plus-bm.jp>
Date:   Thu Oct 12 17:56:35 2017 +0900

    update あにょはせよ 追加

commit 6e66b1b05561438535344fd310b8ec1fac95ee3c
Author: t-ohsaka <t-ohsaka@plus-bm.jp>
Date:   Thu Oct 12 17:55:28 2017 +0900

    update こんにちは 追加

commit 7c27b02aebf1579518a35373e1f772b0411eede8
Author: t-ohsaka <t-ohsaka@plus-bm.jp>
Date:   Thu Oct 12 17:54:41 2017 +0900

    add hello.txt

2つ目のコミットのメッセージを"こんにちは!"にしたいとする。

rebase -iでどのコミットのメッセージを変更するかを指定する。

$ git rebase -i HEAD~2

すると、エディタが起動する

pick 6e66b1b update こんにちは 追加
pick c2f0fce update あにょはせよ 追加

...

メッセージを修正したいコミットのpick部分をeditに変える。

edit 6e66b1b update こんにちは 追加
pick c2f0fce update あにょはせよ 追加

...

変更したら、保存して終了する。

次に、いつものように以下のコマンドを実行して、メッセージを修正する。

$ git commit --amend 

変更を確定させる。

$ git rebase --continue

これで、コミットメッセージが変わったはず。



参考文献

Gitのコミットメッセージを後から変更する方法をわかりやすく書いてみた | 株式会社グランフェアズ