Last Updated
Viewed 591,032 Times

After the last commit, I modified a bunch of files in my working copy, but I want to undo the changes to one of those files, as in reset it to the same state as the most recent commit.

However, I only want to undo the working copy changes of just that one file alone, nothing else with it.

How do I do that?

Similar Question 1 : GIT: Reverting last commit?

Which command do i use to revert the changes made by the last commit? The commit was already pushed to the remote server.

This question already has an answer here:

While coding I added print statements into some files to keep track of what was going on.

When I am done, is it possible to revert changes in some files, but commit the file I actually worked on?

Say I added print in file A, but I modified file B. B is what I want to commit and A, I want to be set back to its old state.

Similar Question 3 : Why is there no undo/redo in Git?

As far as I know, when you want to undo something in Git you have to explicitly find the command to undo whatever it is you've done and issue it. For instance, one way among many to undo a commit and redo it is to follow the example from here,

$ git commit ...
$ git reset --soft HEAD^
$ edit
$ git add ....
$ git commit -c ORIG_HEAD 

Or to undo a pull, you can follow the instructions from here,

$ git reset --hard

But these commands do not necessarily work interchangeably. Is there a reason why Git does not allow simple undo and redo commands? Something to do with the philosophy behind it? Also, I don't have much experience with other version control systems, but do any of them offer a simple undo and redo command?

Similar Question 4 (81 solutions) : How do I undo the most recent local commits in Git?

Similar Question 5 (5 solutions) : Reasons for not working on the master branch in Git

Similar Question 7 (4 solutions) : One word to summarize Git and other DVCS