コミット編集で user.name と user.email を書き換える

まずコミットメッセージの編集は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 <bar@example.com>"
  

複数のコミットまとめて

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

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

git commit --amend --no-edit --author 'bar <bar@example.com>'
git rebase --continue