如果我在分支上运行`git checkout - - .`有什么方法可以让这些文件回来吗?

问题描述 投票:1回答:2

如果我有一大堆未提交的文件更改,无论出于何种原因在文件上运行git checkout --,然后意识到我需要它回来 - 有没有办法做到这一点?

尝试过git checkout HEAD <filename>,但我想HEAD不再是那些文件存在的地方了?

git git-checkout
2个回答
4
投票

不,git没有在您描述的场景中的任何位置写入这些文件状态。

但是,根据您的上下文,如果您使用足够高级的编辑器,它可能会保留您的本地更改。


-1
投票

尝试下面的命令可能其中一个会帮助你。

如果尚未提交删除,则以下命令将恢复工作树中的已删除文件。

$ git checkout -- <file>

您可以使用以下命令获取工作树中所有已删除文件的列表。

$ git ls-files --deleted

如果已提交删除,请找到它发生的提交,然后从此提交中恢复该文件。

$ git rev-list -n 1 HEAD -- <file>
$ git checkout <commit>^ -- <file>

如果要查找要恢复的文件的路径,以下命令将显示所有已删除文件的摘要。

$ git log --diff-filter=D --summary
© www.soinside.com 2019 - 2024. All rights reserved.