问题
This question already has an answer here:
- Undo working copy modifications of one file in Git? 13 answers
I'm trying to undo local changes to a specific file. Nothing has been committed.
When I want to revert all changes, I can perform git revert --reset HEAD
. However, in this case, I don't want to revert all changes to all files.
Its not clear or obvious to me how to revert just a file, even after reading the git-revert(3)
man page:
NAME
git-revert - Revert some existing commits
SYNOPSIS
git revert [--[no-]edit] [-n] [-m parent-number] [-s] <commit>...
git revert --continue
git revert --quit
git revert --abort
...
This is similar to How to revert a specific file in a old commit on git, but no commits have been performed. And unlike OP, who wants to go back to an arbitrary commit, I just want the file to return to MASTER's copy of it.
Under SVN, I would just delete the file in question and then perform a svn update
.
How do I revert changes to a single file?
回答1:
You don't want git revert
. That undoes a previous commit. You want git checkout
to get git's version of the file from master.
git checkout -- filename.txt
In general, when you want to perform a git operation on a single file, use -- filename
.
- git-checkout Documentation
- git-revert Documentation
来源:https://stackoverflow.com/questions/31281679/how-to-undo-local-changes-to-a-specific-file