If you’ve ever wanted to undo the most recent local commits in Git before pushing your changes to production, you’ve come to the right place. There are two options to do this; both options reset the Git repository’s branch but one discards all of the changes while the other leaves the changes staged.
Option 1: Discard All of the Recent Commit’s Changes
The following command resets the Git repository’s branch one commit backward. The --hard
parameter means that any changes to tracked files in the working tree since the last commit are discarded. The HEAD^
parameter tells git to reset the branch to the last commit.
git reset --hard HEAD^
Option 2: Stages the Recent Commit’s Changes
The following command resets the Git repository’s branch one commit backward. The --soft
parameter means that any changes to tracked files in the working tree since the last commit are staged and are changes that are ready to be committed. The HEAD^
parameter tells git to reset the branch to the last commit.
git reset --soft HEAD^
After adding files or making changes to files, you need to run the command below to add the changes to your branch:
git add .
git commit -am "new changes"