我正在尝试撤消对特定文件的本地更改。还没有提交任何东西。
当我想恢复所有更改时,我可以执行git revert --reset HEAD。但是,在这种情况下,我不想恢复对所有文件的所有更改。
即使在阅读了git-revert(3)手册页之后,我也不清楚或明显地知道如何还原文件:
NAME
git-revert - Revert some existing commits
SYNOPSIS
git revert [--[no-]edit] [-n] [-m parent-number] [-s] <commit>...
git revert --continue
git revert --quit
git revert --abort
...这类似于How to revert a specific file in a old commit on git,但没有执行任何提交。与想要返回到任意提交的OP不同,我只想让文件返回到它的主副本。
在SVN下,我只需删除有问题的文件,然后执行svn update。
如何将更改恢复到单个文件?
发布于 2015-07-08 08:44:11
你不想要git revert。这将撤消先前的提交。您希望git checkout从master获取git版本的文件。
git checkout -- filename.txt
通常,当您想要对单个文件执行git操作时,请使用-- filename。
2020更新
Git在2.23.0版本中introduced了一个新的命令git restore。因此,如果你有git版本的2.23.0+,你可以简单地git restore filename.txt -它做与git checkout -- filename.txt相同的事情。此命令的文档注意到它目前还处于实验阶段。
https://stackoverflow.com/questions/31281679
复制相似问题