2023-03-20 10:00:02

单个文件的硬重置

如何放弃对单个文件的更改并用新的HEAD副本覆盖它?我想做git重置——很难只做一个文件。


当前回答

不需要引用HEAD。

git checkout--file.js就足够了

其他回答

重置为头部:

要将单个文件硬重置为HEAD:

git checkout @ -- myfile.ext

注意@是HEAD的缩写。旧版本的git可能不支持缩写形式。

重置为索引:

要将单个文件硬重置为索引,假设索引为非空,否则为HEAD:

git checkout -- myfile.ext

关键是,为了安全起见,您不希望在命令中省略@或HEAD,除非您明确表示只重置为索引。

要将my-file.txt的工作副本及其在Git索引中的状态重置为HEAD的状态,请执行以下操作:

git checkout HEAD -- my-file.txt

--意思是“将此点之后的每个参数视为文件名”。更多详情请参见此答案。感谢VonC指出这一点。

不需要引用HEAD。

git checkout--file.js就足够了

可以使用以下命令:

git重置--my-file.txt

这将在添加时更新my-file.txt的工作副本。

要恢复到上游/主节点,请执行以下操作:

git checkout upstream/master -- myfile.txt