Replace git author using shell script
This is an old trick that saved me several times. Sometimes people forget to setup their name and email information. The following script is useful to fix mistakes:
#!/bin/sh
git filter-branch -f --env-filter '
an="$GIT_AUTHOR_NAME"
am="$GIT_AUTHOR_EMAIL"
cn="$GIT_COMMITTER_NAME"
cm="$GIT_COMMITTER_EMAIL"
if [ "$GIT_COMMITTER_EMAIL" = "old@email.com" ]
then
cn="New author name"
cm="new@email.com"
fi
export GIT_AUTHOR_NAME="$an"
export GIT_AUTHOR_EMAIL="$am"
export GIT_COMMITTER_NAME="$cn"
export GIT_COMMITTER_EMAIL="$cm"
'
echo "Run after"
echo "git push origin +master:master"