[Git]過去のコミットのCommitter名やメールアドレスを全部変更する
色々コミットし終わった段階で、
- Committer名を変えたい
- プライベートリポジトリをパブリックリポジトリにして公開するにあたり、過去のコミットに使ったメールアドレスを変えたい
というような要求が生じることはないだろうか。
僕はよくある。
ということでやり方を調べたところ、以下のようなコマンドを走らせれば良いらしい。
1 2 3 4 5 6 7 8 9 10 11 | 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だったコミットに関して名前やメールアドレスの変更を行っている。
これで複数人で開発を行っているリポジトリでも、自分のコミットだけを抽出して一括で変更できる。
この記事へのコメントはこちら