Alex Rivera | Logout

Undo working copy modifications of one file in Git

Asked 2009-03-28T05:09:02.883
2126

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?

Edit
Report

1 Answer

2770

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.

answered 2009-03-28T06:12:51.403

Your Answer