From here and here.
First run the following command to rewrite the local git history:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| git filter-branch --env-filter ' WRONG_EMAIL="wrong@example.com" NEW_NAME="New Name Value" NEW_EMAIL="correct@example.com"
if [ "$GIT_COMMITTER_EMAIL" = "$WRONG_EMAIL" ] then export GIT_COMMITTER_NAME="$NEW_NAME" export GIT_COMMITTER_EMAIL="$NEW_EMAIL" fi if [ "$GIT_AUTHOR_EMAIL" = "$WRONG_EMAIL" ] then export GIT_AUTHOR_NAME="$NEW_NAME" export GIT_AUTHOR_EMAIL="$NEW_EMAIL" fi ' --tag-name-filter cat -- --branches --tags
|
Now you local git history should be updated. You need to run the following command to update the remote git repo:
1
| git push --force origin master
|
Now checkout your remote git repo and it should be updated as well.