Emiliano Emiliano - 1 month ago 12
Git Question

Hard reset of a single file

I currently have three modified files in my working directory. However I want one of them to be reset to the HEAD status.

In SVN I'd use

svn revert <filename>
(followed by
svn update <filename>
if needed) but in git I should use
git reset --hard
. However this command cannot operate on a single file.

Is there any way in git to discard a single file changes and overwrite it with a fresh HEAD copy?

Answer

You can use the following command:

git checkout HEAD -- my-file.txt

... which will update both the working copy of my-file.txt and its state in the index with that from HEAD.

Thanks to VonC who points out this answer, which explains why you might need the -- in this command.