Gitで間違ったユーザでコミットしてしまったとき

Why?

  • 1台のPCで2ユーザ取り扱っている時に、間違ったユーザでコミットしてしまったときに泣きたくなる
    • しかも、かなりの量をコミットしていると辛い

そもそもこうするべきだった

  • host と id_rsa の設定だけではなく、ローカルディレクトリの git のユーザ設定をするべきだった
$ git config --local user.name kz-engineer
$ git config --local user.email kz-engineer@example.com

後処理

  • git ユーザをローカルで設定した後に

  • コミットがひとつの場合

$ git commit --amend --author="kz-engineer <kz-engineer@example.com>"
  • 今までのコミット全部の場合
$ git filter-branch -f --env-filter "GIT_AUTHOR_NAME='kz-engineer'; GIT_AUTHOR_EMAIL='kz-engineer@example.com'; GIT_COMMITTER_NAME='kz-engineer'; GIT_COMMITTER_EMAIL='kz-engineer@example.com';" HEAD

TODO List