通常のgit commitの場合、コミットメッセージを空のままで終了すればコミットをキャンセルできます。
しかし、git commit --amend(前のコミットへ上書き追加)の場合はそのまま終了してもコミットされてしまうので、うっかり実行するとキャンセルできなくて困ります。

下記のいずれかの方法を使うことで、git commit --amendをキャンセルできます。

解決策1

git commit --amendを行った後に取り消したい場合には、以下のコマンドを実行します。

$ git reset --soft HEAD@{1}

前回のgit commit --amendの実行がなかったことになってくれます。

解決策2

git commit --amend実行時にテキストエディタでコミットメッセージを入力する際、あらかじめ入力されているコミットメッセージを削除して空にしてから保存&終了します。

すると、以下のようにgit commit --amendがキャンセルされてくれます。

$ git commit --amend
Aborting commit due to empty commit message.

個人的には解決策2の方が毎回コマンドをググらなくて良いので楽かなと。

この投稿をシェアする