Skip to content

Instantly share code, notes, and snippets.

@hafiz-muhammad
Created September 11, 2023 17:20
Show Gist options
  • Save hafiz-muhammad/464da0a1783bd553c03d3ac422527987 to your computer and use it in GitHub Desktop.
Save hafiz-muhammad/464da0a1783bd553c03d3ac422527987 to your computer and use it in GitHub Desktop.
Change Git commit author.
#!/bin/sh
REPO_URL="https://github.com/USERNAME/REPO_NAME"
if [[ $REPO_URL != *".git" ]];
then
REPO_URL="$REPO_URL.git"
fi
git clone --bare "$REPO_URL"
REPO_DIR=$(basename "$REPO_URL")
cd "$REPO_DIR"
git filter-branch --env-filter '
OLD_EMAIL="Your_Old_Email"
CORRECT_NAME="Your Correct Name"
CORRECT_EMAIL="Your_Correct_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
git push --force --tags origin 'refs/heads/*'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment