0
0

【Gitコマンド】コミットメッセージ変更方法

Last updated at Posted at 2023-09-28

自分がコミットメッセージを間違えた時に実行する方法を備忘録として残しておきます。

記載されている内容は、プッシュする前のコミットメッセージの変更方法です。

目次

  • 直前のコミットメッセージを変更する方法
  • 2つ以上前のコミットメッセージを変更する方法

直前のコミットメッセージを変更する方法

まずは過去のコミットを確認しましょう。

git log --oneline

--onelineをつけることで、以下のようにコミット番号とコミットメッセージが1列に揃った形で表示されます。

00000000 直前のコミット //ここのコミットメッセージを変更する
11111111 2つ前のコミット
22222222 3つ前のコミット

今回は、直前にコミットしたコミットメッセージを変更します。
直前のコミットを修正する場合は、--amendオプションを使用します。

git commit --amend -m "修正後のコミットメッセージ"

--amendオプション
現在のステージの状態で直前のコミットをやり直すためのオプション。
-mをつけることで、コミットメッセージを修正できる。

もう一度git log --onelineを叩いて実行結果を見てみましょう。
直前のコミットメッセージが修正されているはずです。

00000000 修正後のコミットメッセージ
11111111 2つ前のコミット
22222222 3つ前のコミット

2つ以上前のコミットメッセージを変更する方法

次は2つ以上前のコミットメッセージを修正します。
git log --oneline実行して、修正したいコミットメッセージがいくつ前のコミットなのかを確認します。

git log --oneline

実行結果

00000000 直前のコミット //1つ前のコミット
11111111 2つ前のコミット // 2つ前のコミット //ここのコミットメッセージを変更する
22222222 3つ前のコミット // 3つ前のコミット

今回は2つ前のコミットメッセージを修正したいので、以下コマンドのHEAD~の後に、2を入力して実行します。

git rebase -i HEAD~2

実行結果、以下のように2つ目のコミットが1番上に表示されている状態で、viエディタが開きます。

pick 11111111 2つ前のコミット
pick 22222222 3つ前のコミット

# Rebase ~~~~~
# ~~~~~~~~~~~~

viエディタが開いたら、編集モードに切り替えて、コミットメッセージを修正したいコミットの左に記載されている、pickeditに変更します。
変更が完了したら、編集モードを終了し、保存してviエディタを終了させます。

edit 11111111 2つ前のコミット
pick 22222222 3つ前のコミット

# Rebase ~~~~~
# ~~~~~~~~~~~~

:wq // 入力してEnter

モード切り替え
viエディタを開いた時点では、コマンドモードになっています。
キーボードの「i」(insertのi)を押すことで、編集モードに切り替わります。
編集が完了したら、「esc」を押すとコマンドモードに切り替わります。

変更を保存
編集画完了後、閲覧モードの状態で「:wq」を入力後、Enterを押すと編集内容が保存され、エディタが閉じます。
編集を保存しない場合は、「:q!」を入力することで、編集内容を破棄してエディタが閉じます。

ここまでの操作でeditに指定したコミットまで、状態が戻っていることになります。
従って、直前のコミットを修正する時に使用した、--amendを使って、コミットメッセージを修正します。

git commit --amend -m "修正後のコミットメッセージ"

直前のコミットメッセージ変更の操作と違って、2つ以上前のコミットメッセージを修正した際は、これで終わりではありません!
以下のコマンドで作業完了です。

git rebase --containue

必ず最後に確認しましょう。
変更が反映されています。

00000000 修正後のコミットメッセージ
11111111 2つ前のコミット
22222222 3つ前のコミット

最後に

以上。
こういうのまとめてほしいとかあれば、コメントください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0