まずコミットメッセージの編集はgit commit --amend、またその後ろに-m <新しいコミットメッセージ>なコマンドを実行することで行なえます。

しかしコミットをfoo <foo@example.com>な時に行ったコミットをbar <bar@example.com>な時にgit commit --amendしてもfoo <foo@example.com>のままになってしまいます。

user.nameuser.emailも書き換えたいなら--authorオプションを使います。よって書き換えコマンドの正解は以下になります。(--no-editはコミットメッセージを編集しないオプション)

git commit \
  --amend \
  --no-edit \
  --author "bar "

複数のコミットまとめて

既にいくつかのコミットを入れてしまっている場合はgit rebase -iが使えます。後にHEAD~[書き換えたいコミット数]と続けて、全てのコミットでeditを選択します。

あとは次のようなコマンドを連続で実行するだけです。

git commit --amend --no-edit --author 'bar '
git rebase --continue

JavaScript で飯食べたい歴約 5 年、 純( nju33 ) によるノートサイトです。

このサイトではドリンク代や奨学金返済の為、広告などを貼らせて頂いてますがご了承ください。

Change Log