[Git]過去のコミットのCommitter名やメールアドレスを全部変更する

   2019/05/19

色々コミットし終わった段階で、

  • Committer名を変えたい
  • プライベートリポジトリをパブリックリポジトリにして公開するにあたり、過去のコミットに使ったメールアドレスを変えたい

というような要求が生じることはないだろうか。
僕はよくある。

ということでやり方を調べたところ、以下のようなコマンドを走らせれば良いらしい。

git filter-branch --commit-filter '
        if [ "$GIT_COMMITTER_NAME" = "OLD_NAME" ];
        then
                GIT_COMMITTER_NAME="NEW_NAME";
                GIT_AUTHOR_NAME="NEW_NAME";
                GIT_COMMITTER_EMAIL="NEW_EMAIL_ADDRESS";
                GIT_AUTHOR_EMAIL="NEW_EMAIL_ADDRESS";
                git commit-tree "$@";
        else
                git commit-tree "$@";
        fi' HEAD

ここでは、committer名がOLD_NAMEだったコミットに関して名前やメールアドレスの変更を行っている。
これで複数人で開発を行っているリポジトリでも、自分のコミットだけを抽出して一括で変更できる。

タイトルとURLをコピーしました

この記事へのコメントはこちら

メールアドレスは公開されませんのでご安心ください。
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメント送信」ボタンを押してください。

four × 1 =

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください