git rebase -i --root --exec 'git commit --amend --reset-author --no-edit'
# Changes the username and email of all commits from the start.
git rebase -i --root -x "git commit --amend --author='YOUR_USERNAME <user@example.com> --no-edit'"
git commit --amend --author="Author Name <email@address.com>" --no-edit
git rebase -i HEAD~2
git commit --amend --author="Cesar Bueno <cesar.bueno.tx@gmail.com>"
git rebase --continue
Reset your username to the config globally: git config --global user.name example.
Reset your email to the config globally: git config --global user.email example@email.com.
Now reset the author of your commit without edit required: git commit --amend --reset-author --no-edit.
git commit --author="soft hunt <softhunt@softhunt.net>"
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
git rebase -i YOUR_SHA -x "git commit --amend --reset-author -CHEAD"
$ git commit --amend --author="John Doe <john@doe.org>" --no-edit
$ git rebase --continue
git rebase -i YOUR_SHA -x "git commit --amend --author 'New Name <new_address@example.com>' -CHEAD"
$ git filter-branch --env-filter '
WRONG_EMAIL="wrong@example.com"
NEW_NAME="New Name Value"
NEW_EMAIL="correct@example.com"
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