硬重置单个文件
我目前在我的工作目录中有三个修改过的文件。 不过,我希望其中一个被重置为HEAD状态。
在SVN中,我会使用svn revert <filename>
(如果需要,接着是svn update <filename>
),但在git中,我应该使用git reset --hard
。 但是,该命令不能在单个文件上运行。
有没有办法在git中放弃单个文件的更改并用新的HEAD副本覆盖它?
您可以使用以下命令:
git checkout HEAD -- my-file.txt
...将更新my-file.txt
的工作副本及其索引中的状态与HEAD中的状态。
--
基本上是指:将这个点之后的每个参数都视为一个文件名。 在这个答案的更多细节。 感谢VonC指出这一点。
重置为首位:
要将单个文件硬复位到HEAD,
git checkout @ -- myfile.ext
请注意, @
是HEAD
简称。
重置为索引:
要将单个文件硬复位到索引,假设索引非空,否则为HEAD:
git checkout -- myfile.ext
重点在于,为了安全起见,除非特意指定重置为索引,否则不要在命令中留下@
或HEAD
。
你可以使用下面的命令来重置单个文件
git checkout HEAD -- path_to_file/file_name
列出所有更改的文件以使用以下命令获取path_to_file/filename
git status
链接地址: http://www.djcxy.com/p/8981.html