Before executing the script, set your user.name and user.email git config parameter properly!
This changes SHA1s, so take care when using it on a branch that has already been pushed.
git stash
Set variables on lines 2,3 and 4 below and run:
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
git update-ref -d refs/original/refs/heads/master rm -rf .git/refs/original/
git log --pretty=format:"[%h] %cd - Committer: %cn (%ce), Author: %an (%ae)"