硬复位一个文件
我目前有三个修改后的文件在我的工作目录中。 不过,我希望其中的一个被重置为HEAD状态。
在SVN中,我会使用svn revert <filename>
(如果需要,接着是svn update <filename>
),但是在git中我应该使用git reset --hard
。 但是这个命令不能在一个文件上运行。
有没有办法在混帐丢弃单个文件的变化,并用新的HEAD副本覆盖它?
您可以使用以下命令:
git checkout HEAD -- my-file.txt
…它将更新my-file.txt
的工作副本以及索引中的状态与HEAD中的状态。
--
基本上是指: 把这个点之后的每个参数作为文件名 。 在这个答案的更多细节。 感谢VonC指出这一点。
假设你在当前分支的头部,将单个文件硬重置为HEAD的更简单的方法是:
git checkout -- myfile.ext
这是根据马克的回答 cxw的评论。 在这个典型的情况下,指定HEAD
或@
并不重要。