Remove the last commit/commits using Reset
Steps to remove the last commit/commits
Step 1 Checkout to master
git checkout master
Note : This could be done in any branch. For this example, master branch is used.
Step 2 - Get the commits history
You will end up with list of commits that you made as follows.
Step 3 - Reset
Step 3.1 - Copy the commit-hash that you want to reset
All the commits that top of the selected commit-hash (not including the entered commit-hash), will be deleted.
Step 3.2 - Hard reset to go back to early stage
git reset <commit-hash> --hard
Options to reset
- Soft Reset
git reset <commit_hash> --soft
- Mixed Reset
git reset <commit_hash> #OR git reset <commit_hash> --mixed
- Hard Reset
git reset <commit_hash> --hard
Step 3 - Force push to the repository
git push <remote> master --force
<remote> can be any remote,
origin is the default.
NOTE : Be careful when removing the previous commits, there is no going back once you did these changes.
We can also re-write history commits in a different place
git rebase <commit-hash>
Inverse the changes from history and create a new commit
git revert <commit-hash>