Skip to content

Instantly share code, notes, and snippets.

@gringoh
Last active May 10, 2022 18:57
Show Gist options
  • Save gringoh/74ac8d8e3fc43463cdffc52e3ef6c53d to your computer and use it in GitHub Desktop.
Save gringoh/74ac8d8e3fc43463cdffc52e3ef6c53d to your computer and use it in GitHub Desktop.
[Git: change user and mail] #git

Change git username and email

To set your global username/email configuration

git config --global user.name "FIRST_NAME LAST_NAME"
git config --global user.email "[email protected]"

To set repository-specific username/email configuration:

git config user.name "FIRST_NAME LAST_NAME"
git config user.email "[email protected]"

Verify your configuration by displaying your configuration file

cat .git/config

Using --amend for the Very Last Commit

In case you want to change just the very last commit, Git offers a very easy way to do this:

git commit --amend --author="John Doe <[email protected]>"

This effectively replaces the last commit with your "edited" version, correcting the wrong author information.

Changing the Author Information Just for the Next Commit

Finally, with the --author flag, you can also overwrite the author information for just the next commit:

git commit --author="John Doe <[email protected]>"

Replace author and email in several commits

$ git filter-branch --env-filter '
WRONG_EMAIL="[email protected]"
NEW_NAME="New Name Value"
NEW_EMAIL="[email protected]"

if [ "$GIT_COMMITTER_EMAIL" = "$WRONG_EMAIL" ]
then
    export GIT_COMMITTER_NAME="$NEW_NAME"
    export GIT_COMMITTER_EMAIL="$NEW_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$WRONG_EMAIL" ]
then
    export GIT_AUTHOR_NAME="$NEW_NAME"
    export GIT_AUTHOR_EMAIL="$NEW_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment