過去にプッシュしたコミットのコミットメッセージを変更したい

現在、システム開発のプラクティスを進めています。フィヨルドブートキャンプのアプリの仕様はコミットメッセージは日本語で書くことになっています。しかし私は普段の癖で英語で書いてしまい、修正しなくてはいけなくなりました。そこで、どのコミットであってもコミットメッセージを変更できる方法を書きたいと思います。

状況

  • 自分だけの開発ブランチで開発中
  • コミットは2回、プッシュ済
  • 1回目のコミットメッセージを変更したい

方法

rebase -iを使うことでいつのコミットでも変更できます

実際の手順

戻りたいコミットまで戻る
以下の例だと2つ前までのコミットの状況を見られます
数字は戻りたいところまで数字を指定します

% git rebase -i HEAD~2

すると画面が切り替わリマス この画面はアクションを指定します

pick b5df9e8 add aaa => e b5df9e8 add aaa
pick 2cc06c4 bbb追加

~~~~~~~~~~~~~~~~~~~~~~~~~~~

この画面の上の2行がコミット履歴
一番最初のコミットを変更したいのでpickeまたはeditに変更して :wqで終了

すると画面が切り替わります ここは次の手順が書かれています

% git rebase -i HEAD~2
Stopped at b5df9e8...  add aaa
You can amend the commit now, with

  git commit --amend

Once you are satisfied with your changes, run

  git rebase --continue

まず、コミットメッセージを変更します 以下のコマンドを叩きます

% git commit --amend

先ほど指定したコミットのメッセージが出ているので書き換えます

add aaa => aaa追加

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

:wqで保存すると以下のようになります

% git commit --amend
[detached HEAD fa6040a] aaa追加
 Date: Fri Jan 15 15:52:18 2021 +0900
 1 file changed, 1 insertion(+)
 create mode 100644 aaa.txt

そしたら、以下コマンドで、rebaseを実行し編集を終了させます

% git rebase --continue
Successfully rebased and updated refs/heads/aaa.

最後に強制プッシュします

% git push origin +branch

GitHubでコミットを見るとコミットメッセージが変わっているはずです。