ことの発端
お仕事で、Git使っていて、SourceTreeでコミット等していたのですが、誤ったアカウント名、アカウントメールアドレスでコミットしていたことに気づきました。
複数のアカウントを使っていて切り替えを忘れていました。。。
このままでは、まずいなと思って、対応方法を検索して実施しました。
※強制オプションを使っていたりするので、実行にはご注意ください。
修正するためのコマンドや流れ
$ git filter-branch -f --commit-filter '
if [ "$GIT_COMMITTER_EMAIL" = "old@mail.com" ];
then
GIT_COMMITTER_NAME="new committer name";
GIT_AUTHOR_NAME="new author name";
GIT_COMMITTER_EMAIL="correct@mail.com";
GIT_AUTHOR_EMAIL="correct@mail.com";
git commit-tree "$@";
else
git commit-tree "$@";
fi' HEAD
自分がやった際は、自分以外のコミッターが少なかったので、if文は否定マッチ(!=)で行いました。
上記の実行が終わったあとにプッシュして反映させます。
$ git push -f
※繰り返しですが、force push(強制)なので注意!
--force-with-lease
を使うのもお勧めしている記事もみました。
参考
GitのCommitユーザを修正する方法
GitのCommitユーザを修正する方法 - Qiitagithubのcontributionsを見ていたら確かにリポジトリ更新したはずなのに草が生えてなかった。contributions Activityを見ると、なぜか違うユーザでcommitしたこ…
コメント