如何放弃对单个文件的更改并用新的HEAD副本覆盖它?我想做git重置——很难只做一个文件。
当前回答
重置为头部:
要将单个文件硬重置为HEAD:
git checkout @ -- myfile.ext
注意@是HEAD的缩写。旧版本的git可能不支持缩写形式。
重置为索引:
要将单个文件硬重置为索引,假设索引为非空,否则为HEAD:
git checkout -- myfile.ext
关键是,为了安全起见,您不希望在命令中省略@或HEAD,除非您明确表示只重置为索引。
其他回答
可以使用以下命令:
git重置--my-file.txt
这将在添加时更新my-file.txt的工作副本。
重置为头部:
要将单个文件硬重置为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指出这一点。
可以使用以下命令重置单个文件
git checkout HEAD -- path_to_file/file_name
使用以下命令列出所有更改的文件以获取path_to_file/filename
git status
要恢复到上游/主节点,请执行以下操作:
git checkout upstream/master -- myfile.txt
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式
- git pull -rebase和git pull -ff-only之间的区别