複数アカウントでいろんなプロジェクトを梯子してると、ずっと他プロジェクト用の名前でコミットしてしまっていたり...。よくあるのでメモ。
履歴のAuthorとCommitterを変更
filter-branch --env-filter
を使用して、GIT_AUTHOR_NAME
がold_name
のコミット履歴をすべて変更する。
push済みの場合は、git push -f
が必要。
$ git filter-branch -f --env-filter " if [ ${GIT_AUTHOR_NAME}='old_name' ]; then export GIT_AUTHOR_NAME='new_name' export GIT_AUTHOR_EMAIL='new_addr@example.com' export GIT_COMMITTER_NAME='new_name' export GIT_COMMITTER_EMAIL='new_addr@example.com' fi "
ローカルレポジトリへ名前とメールアドレスを設定
忘れない内にローカルへ名前とメールアドレスを設定しておく。
$ git config --local user.name new_name $ git config --local user.email new_addr@example.com
もしくは、直接編集。
$ vi .git/config [user] name = new_name email = new_addr@example.com