Skip to content

Instantly share code, notes, and snippets.

@carlosmcevilly
Last active January 17, 2025 01:25
Show Gist options
  • Save carlosmcevilly/2221249 to your computer and use it in GitHub Desktop.
Save carlosmcevilly/2221249 to your computer and use it in GitHub Desktop.
fix git commit with wrong email address in git config, before pushing
If:
- you add and commit with the wrong email address in git, and
- your remote has a hook set up to prevent you from pushing with the bad address
Then you need to amend the author of your commit before push can succeed:
1. fix your email address in git config:
$ git config user.name "Your Name"
$ git config user.email "[email protected]"
# only do this next line if using submodules... not super common and you would probably know if you were using them
$ git submodule foreach --recursive 'git config user.name "Your Name" && git config user.email "[email protected]"'
2. then do a rebase:
$ git rebase -i HEAD~1
# git brings up your editor.
3. in the editor, mark the commit as 'edit' then save and exit the editor
4. do an amend that resets the author now that your address is changed:
$ git commit --amend --reset-author
5. finish with a rebase:
$ git rebase --continue
# git says:
# Successfully rebased and updated refs/heads/master.
@jalius
Copy link

jalius commented Nov 29, 2024

Thanks for this! Please note, when you issue git commit --amend --reset-author, you can add the --no-edit flag to keep the old commit message:
git commit --amend --reset-author --no-edit
You can also chain it with continue if you had multiple commits:
git commit --amend --reset-author --no-edit && git rebase --continue

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