Undo – Remove a commit and retain changes to files
Instead of performing the hard reset and thereby losing all the changes the commit introduced, the reset can be performed so that the changes are retained in the working directory.
Getting ready
We'll again use the example of the hello world repository. Make a fresh clone of the repository, or reset the master branch if you have already cloned one.
You can make a fresh clone as follows:
$ git clone https://github.com/PacktPublishing/Git-Version-Control-Cookbook-Second-Edition_hello_world_cookbook.git
$ cd Git-Version-Control-Cookbook-Second-Edition_hello_world_cookbook
You can reset the existing clone as follows:
$ git checkout master $ git reset --hard origin/master HEAD is now at 3061dc6 Adds Java version of 'hello world'
How to do it...
- First, we'll check whether we have made any changes to files in the working tree (just for the clarity of the example) and the history of the repository:
$ git status
On branch master
Your branch is up-to...