如何放弃对单个文件的更改并用新的HEAD副本覆盖它?我想做git重置——很难只做一个文件。
当前回答
不需要引用HEAD。
git checkout--file.js就足够了
其他回答
不需要引用HEAD。
git checkout--file.js就足够了
可以使用以下命令:
git checkout filename
如果分支具有相同的文件名,则必须使用以下命令:
git checkout -- filename
自Git 2.23(2019年8月)以来,您可以使用restore(更多信息):
git restore pathTo/MyFile
上述操作将在当前分支上恢复HEAD上的MyFile(最后一次提交)。
如果您想从其他提交中获取更改,则可以在提交历史记录上进行倒退。下面的命令将在最后一次提交之前获取MyFile两次提交。现在需要-s(--source)选项,因为现在在还原源时使用master~2而不是master(默认值):
git restore -s master~2 pathTo/MyFile
您也可以从其他分支获取文件!
git restore -s my-feature-branch pathTo/MyFile
可以使用以下命令:
git重置--my-file.txt
这将在添加时更新my-file.txt的工作副本。
要恢复到上游/主节点,请执行以下操作:
git checkout upstream/master -- myfile.txt
推荐文章
- 如何配置Mac OS X术语,使git有颜色?
- Visual Studio Code: .git文件夹/文件隐藏
- “node_modules”文件夹应该包含在git存储库中吗
- 为什么git-rebase给了我合并冲突,而我所做的只是压缩提交?
- 当我试图推到原点时,为什么Git告诉我“没有这样的远程‘原点’”?
- 如何从远程分支中挑选?
- 如何查看一个分支中的哪些提交不在另一个分支中?
- 如何取消在github上的拉请求?
- HEAD和master的区别
- GIT克隆在windows中跨本地文件系统回购
- RPC失败;卷度传输已关闭,剩余未完成的读取数据
- 我应该在.gitignore文件中添加Django迁移文件吗?
- 错误:您对以下文件的本地更改将被签出覆盖
- Git rebase—即使所有合并冲突都已解决,仍然会继续报错
- 在Git中,我如何知道我的当前版本是什么?