git clone
でリポジトリをローカルにクローン- 次のコマンドを実行
git filter-branch -f --env-filter "GIT_AUTHOR_NAME='<USERNAME>'; GIT_AUTHOR_EMAIL='<hoge@example.com>'; GIT_COMMITTER_NAME='<USERNAME>'; GIT_COMMITTER_EMAIL='<hoge@example.com>';" HEAD
<USERNAME>
と<hoge@example.com>
は実際の表示ユーザ名・メールアドレスに変更すること(変更の際に<>
は不要)
git clone
したリモートリポジトリを削除し、新しいリポジトリを登録- 普通にプッシュ
gitで過去の全てのコミットの Commit Author と Committer を変更する
プロジェクトを進める中で、しばらく経ってから違うユーザとしてコミット・プッシュしていたことに気付きました。
自分しかコミット・プッシュしていない上にそのプロジェクトは最初から最後まで首尾一貫して意図していたのと違うユーザでコミット・プッシュしていたので、全て一括で変更したくなりました。
ということで、以下手順。