- Clone the repo.
- Use
git rebase -i --root - vim will open. Select the commits you want to modify by changing
picktoedit. If you would like to change all the commits, perform the following replace::%s/^pick/edit/g. This command changes all instances of "pick" at the start of lines to "edit". - You will now be shown all the selected commits one by one. Each commit message will be displayed. You have two options:
- If you would like to keep the commit author details the same, do a
git rebase --continue. - If you would like to change it to a different name/email, do
git commit --amend --reset-author. If--reset-authoris specified, it will use the details from your git config. (If you need to specify an alternate name/email, you can do so with--author="John Doe <john@example.com>". If you would like to change the time to a previous date, you can do so with--date "2 days ago".)
- If you would like to keep the commit author details the same, do a
- Do the same for all the commits and finish the rebase.
- Perform
git push -f origin masterto