まずコミットメッセージの編集はgit commit --amend
、またその後ろに-m <新しいコミットメッセージ>
なコマンドを実行することで行なえます。
しかしコミットをfoo <foo@example.com>
な時に行ったコミットをbar <bar@example.com>
な時にgit commit --amend
してもfoo <foo@example.com>
のままになってしまいます。
user.name
とuser.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