Undo working copy modifications of one file in Git
dvcs, file, git, undo, version-control
Solution
You can use
git checkout -- file
You can do it without the `--` (as suggested by nimrodm), but if the filename looks like a branch or tag (or other revision identifier), it may get confused, so using `--` is best.
You can also check out a particular version of a file:
git checkout v1.2.3 -- file # tag v1.2.3
git checkout stable -- file # stable branch
git checkout origin/master -- file # upstream master
git checkout HEAD -- file # the version from the most recent commit
git checkout HEAD^ -- file # the version before the most recent commit
More details included based on comments
First check the the commits of the file
git log -- <filename>
Then you can run this
git checkout <sha-reference> -- filename
where the sha-reference is a reference to the sha of a commit, in any form (branch, tag, parent, etc.
Problem
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?