How to reset author of earlier commit?

Viewed 1069

My local commits have wrong email so I used the following command to reset it. However, it only reset the latest local commit. How to reset the earlier ones?

git commit --amend --reset-author --no-edit
2 Answers

Assuming you have a linear history, you can reset the authorship of all commits with

git rebase -i --exec 'git commit --amend --reset-author --no-edit' --root

If only a subset of commits is affected, which still must be all in a linear history, replace --root with the commit ID before the first one of yours.

Do (you may need to increase/decrease 20 according to how far back the commit you want to edit is):

git rebase -i HEAD~20

and, for the commit you want to amend, replace pick with edit (in the interactive window). Save, and close.

Then, do git commit --amend, make your change, and let the rebase continue.

Related