硬重置单个文件

我目前在我的工作目录中有三个修改过的文件。 不过,我希望其中一个被重置为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

上一篇: Hard reset of a single file

下一篇: How to discard committed changes to just one file?