Skip to content

Instantly share code, notes, and snippets.

@noyobo
Last active March 24, 2017 14:15
Show Gist options
  • Save noyobo/782a52c9b3c56bdcf7239cfd1442cbc2 to your computer and use it in GitHub Desktop.
Save noyobo/782a52c9b3c56bdcf7239cfd1442cbc2 to your computer and use it in GitHub Desktop.
Change the author and committer name and e-mail of multiple commits in Git
#!/bin/sh
git filter-branch --env-filter '
OLD_EMAIL=$OLD_EMAIL
CORRECT_NAME=$GIT_NAME
CORRECT_EMAIL=$GIT_EMAIL
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
@noyobo
Copy link
Author

noyobo commented Mar 24, 2017

OLD_EMAIL=xxx GIT_NAME=yyy GIT_EMAIL=zzz curl https://gist.githubusercontent.com/noyobo/782a52c9b3c56bdcf7239cfd1442cbc2/raw/c96f14d9e4472b5b0055189dee7f96294ea993ef/git-m.sh | sh

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment