git

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"

Interactions

Webmentions

Comments