我目前在工作目录中有三个已修改的文件。但是我希望其中一个重置为 HEAD 状态。
在 SVN 中,我使用svn revert <filename> (如果需要,然后是svn update <filename> )但是在 git 中我应该使用git reset --hard 。但是,此命令无法在单个文件上运行。
有没有办法在 git 中丢弃单个文件更改并用新的 HEAD 副本覆盖它?
要将单个文件硬重置为 HEAD:
git checkout @ -- myfile.ext请注意, @是HEAD缩写。旧版本的 git 可能不支持缩写形式。
要将单个文件硬重置为索引 ,假设索引为非空,否则为 HEAD:
git checkout -- myfile.ext关键在于,为了安全起见, 您不希望从命令中省略@或HEAD ,除非您特别指的是仅重置为索引 。
要恢复到上游 / 主站,请执行以下操作:
git checkout upstream/master -- myfile.txt