如果我有一大堆未提交的文件更改,无论出于何种原因在文件上运行git checkout --
,然后意识到我需要它回来 - 有没有办法做到这一点?
尝试过git checkout HEAD <filename>
,但我想HEAD不再是那些文件存在的地方了?
不,git没有在您描述的场景中的任何位置写入这些文件状态。
但是,根据您的上下文,如果您使用足够高级的编辑器,它可能会保留您的本地更改。
尝试下面的命令可能其中一个会帮助你。
如果尚未提交删除,则以下命令将恢复工作树中的已删除文件。
$ git checkout -- <file>
您可以使用以下命令获取工作树中所有已删除文件的列表。
$ git ls-files --deleted
如果已提交删除,请找到它发生的提交,然后从此提交中恢复该文件。
$ git rev-list -n 1 HEAD -- <file>
$ git checkout <commit>^ -- <file>
如果要查找要恢复的文件的路径,以下命令将显示所有已删除文件的摘要。
$ git log --diff-filter=D --summary