GitHub

gitで誤ったメールアドレスでpushしてしまった時の対処法

誤ったメールアドレスでもユーザー名とパスワードがあっていればpushできてしまいます。

gitはユーザーを特定できないのでUnrecognized authorとして、?マークがついた状態になります。

これに後から気付いて、修正する方法がないか探したらありました。

1. 該当するレポジトリにcdして、以下のコードをコマンドラインに貼り付けてpush

名前やメールアドレスなどは自分で変える必要があります。

git filter-branch --env-filter '

OLD_EMAIL="your-old-email@example.com"
CORRECT_NAME="Your Correct Name"
CORRECT_EMAIL="your-correct-email@example.com"

if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_COMMITTER_NAME="$CORRECT_NAME"
    export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_AUTHOR_NAME="$CORRECT_NAME"
    export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags
2. git push
git push --force --tags origin 'refs/heads/*'

終わりです!


参考
https://stackoverflow.com/questions/18561831/unrecognized-author