【Git】コミットしたメッセージを後から変更する方法をわかりやすく解説!

Gitでコミット(commit)したメッセージを後から変更する方法をご紹介します。

後からコミットしたメッセージを変更する方法は、直前コミットメッセージの変更と2以上前のコミットメッセージの変更の2種類があります。

コミットメージを間違えた!という時があると思うので覚えて起きましょう。

1.直前にコミットしたメッセージを変更する方法 (Vi方式)

1-1.git logでコミットログの確認

まずはコミットログの確認をしましょう。

このように以前のコミットログが表示されます。
一番上にきているものが最新のコミットです。

1-2.git commit –amendでコミットメッセージの変更

次にコミットメッセージの変更をしてみましょう。

このようにViモードに切り替わるので、コミットの箇所をhogehogeに切り替えて見ましょう。
Viモードはキーボードのaで編集(– INSERT –)モードに切り替わりescでコマンドモードに戻ります。コマンドモードの状態で:wqで保存して終了できます。何もしない場合は:qで閉じることができます。

変更できたらgit logでコミットメッセージが変更されたか確認してみましょう。
hogehogeになっていればコミットメッセージの変更は完了です。

2.直前にコミットしたメッセージを変更する方法 (簡単版)

実はgit commit –amendの後にメッセージをつけることで、直前のコミットメッセージを変更することができます。直前のメッセージであればこちらの方が簡単ですね!

git logでログを確認すると「hogehoge」から「fugefuge」に変更できていることがわかります。

3.2つ以上前のコミットメッセージの変更方法

直前のコミットメッセージの変更はgit commit –amendでできましたが、ふたつ以上前のコミットメッセージの変更は一手間必要になります。

3-1.git rebase -i HEAD~○で指定した数のコミットまで戻る

git rebase -i HEAD~で指定したコミットまで戻ります。

このようviエディタが開きます。

3-2.変更したいコミットをpickからeditに変更する

次にコミットメッセージを変更したいコミットの「pick」を「edit」に変更します。
変更し終わったらviモードを完了します。ここではまだコミットメッセージの変更はできません。

先ほどもご紹介しましたがviエディタの使用方法です。
a:入力モードに入る(左下が– INSERT –)
esc:コマンドモードに入る(– INSERT –がなくなる)
文字の入力:aの入力モードで変更する deleteで文字を消したり、好きな文字を加えたりする
:q:viエディタを終了する(コマンドモードのみ使用可能)
:q!:viエディタを強制終了する(コマンドモードのみ使用可能)
:wq:viエディタを保存して終了する(コマンドモードのみ使用可能)
:q!:viエディタを保存して強制終了する(コマンドモードのみ使用可能)

3-3.git commit –amendでコミットメッセージを変更する

これで先ほどeditに変更したコミットメッセージが「first commit」から「hogehoge」に変更されます。

$ git log –onelineで確認すると、(HEAD)が「first commit」だった部分に移動していて、さらに「first commit」から「hogehoge」に変更されているのがわかります。

3-4.git rebase –continueで最新のコミットまで戻る

最後にgit rebase –continueで最新のコミットまで戻りましょう。

最新のfugefugeに(HEAD)が移動しているのがわかりますね。

これで2つ以上前のコミットコメントの変更は完了となります。

Git

Posted by らくらく