Git開発中、tigなどでふとツリーを確認しているとあることに気づく。
「あ、author nameの設定を間違えてた。。。」
基本的にマシンの初期設定時にgitの設定をすると思う。
git config --global user.name "Noffuy"
でも場合によって毎プロジェクトでgit config --localで設定するときもある。
今回は、タイポなどで間違ったauthor nameやcommitter nameで開発を進めてしまい、
過去ツリーを一括で変更する方法を書き溜める。
指定した名前のコミット author, committerを変更する
変更前の名前に該当するすべてのコミットに対して、
変更処理をかけます。
1 2 3 4 5 6 7 8 9 |
#!/bin/bash git filter-branch -f --env-filter " if [ ${GIT_AUTHOR_NAME}='変更前の名前' ]; then export GIT_AUTHOR_NAME='変更後の名前' export GIT_AUTHOR_EMAIL='変更後のアドレス@omohikane.com' export GIT_COMMITTER_NAME='変更後の名前' export GIT_COMMITTER_EMAIL='変更後のアドレス@omohikane.com' fi " |
あとは、git push -f origin developなどしてリモートを更新してくださいな。
ハッシュ値が変わるので-fは必須です。
共同開発のメンバーにちゃんと伝えてからやってね。
たまに、たまに、やらかすので。書き溜めです。
じゃあね〜〜〜〜。