特定のリポジトリで適用したいユーザ名があって、global の .gitconfig ではなく local の .gitconfig にユーザ名を設定していると、設定した名前が間違っていたということがたまによくある。
$ git config --local --list user.name=tomoyashibata # => tomoya が正しいのにうっかりフルネームにしてしまった
すでにマージしてしまったコミットや、自分以外の複数人とで共同で作業しているブランチについては過去改変が激しいので適用することが難しいが、そうでなければ以下の技を発動することで過去をなかったことにすることができる。
# local の .gitconfig の user.name を修正 $ git config --local user.name "tomoya" # --amend で、コミットの変更をする # --reset-author で、author を .gitconfig に従ってリセットする。歴史は改変され別のコミットが作り直されるのでコミット日時なども変わる # --no-edit で、コミットメッセージの編集を行わないことを指定する $ git commit --amend --reset-author --no-edit
あとは力強いプッシュをして世界を騙せばよい。
$ git push origin [ブランチ名] --force