🐳

GITの過去コミットの「作者」と「コミット者」を変更する

2023/02/25に公開

はじめに

  • GITのコミット履歴の「作者」と「コミット者」を一括で変更します。
  • リモートリポジトリへのpushを実施する前の状態で実施しています。
  • ブランチ毎に実施する必要があります。
  • 複数のブランチを対象とする場合は切り替えてから実施する。
  • タグがあると残るのでタグは削除して作成し直す。

変更コマンド

  • GIT Bashで実行
  • 対象のcloneディレクトリまで移動
git filter-branch -f --env-filter "GIT_AUTHOR_NAME='test'; GIT_AUTHOR_EMAIL='test@example.com'; GIT_COMMITTER_NAME='test'; GIT_COMMITTER_EMAIL='test@example.com';" HEAD

その他

リモートリポジトリを用意する前からローカルブランチで使っていることが多いのですが、リモートリポジトリ作成時にアカウント情報が一致しているとは限らないので、このように一括で修正することがあります。

確認方法

  • SourceTreeだとコミット者のメールアドレスがでないため
git log -100 --pretty=full

Discussion