- Clone the repo.
- Use
git rebase -i --root
- vim will open. Select the commits you want to modify by changing
pick
toedit
. 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-author
is 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 <[email protected]>"
. 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 master
to