如何恢复已删除的文件

3
在GIT工作仓库中,我使用rm -rf命令删除了几个文件,而不是git rm命令。当我尝试从服务器(裸仓库)拉取/获取时,这些文件不可见。如何将这些文件恢复?
3个回答

4

回滚到之前的提交。这将重置为最后一次提交的状态:

git reset --hard HEAD

请注意...如果您有其他更改...一定要先储藏它们!
git stash

这里有一个选项来自另一篇帖子,可能也会对您有所帮助:

git checkout abcde file/to/restore

在这里,abcde代表提交号。你可以使用以下命令:

git log

获取提交日志。

如何使用Git将特定文件重置或还原到特定版本?


1
如果您可以在不进行硬重置的情况下达到相同的效果,那么请尽量避免使用它。这是一个非常危险的命令。 - wilhelmtell
感谢 reset --hard HEAD 命令将文件恢复了。reset --hard 是一条危险的命令,您能否进一步解释一下? - maestromani
是的。它会将源代码控制下的所有内容恢复到上次提交的状态。这意味着如果您在一次提交中更改了文件 a、b、c 和 d,但您只想恢复 a(因为您不小心删除了它),使用 reset --hard HEAD 将使您回到最后提交之前每个文件的状态(全部 4 个)。实质上,您正在“跳回”一个提交。 - Calvin Froedge

3

如果你只想恢复单个文件(或者想要恢复多个文件),我建议使用 git checkout path/to/file.ext。如果使用 git reset --hard HEAD,所有文件都会被恢复,但同时也会清空你自上次提交以来所做的任何其他更改,这些更改可能是你想要保留的。


感谢 reset --hard HEAD 命令,已成功恢复文件。 - maestromani

0

始终检查输出结果

git status

如果有疑问。输出会向您展示如何获取所需的文件。

这将包括删除文件和添加到索引中的文件/更改的说明。


你是正确的,状态显示了如何返回,感谢提供信息。 - maestromani

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接