我在Github上创建了一个Git repo和一个遥控器。在项目文件夹中,我创建了git init
并且忘记了首先git commit
。我从远程存储库中取出git pull后,本地文件夹中的所有文件都消失了。我试过了
git reset --hard origin/master
git reset --hard
git checkout <filename>
git checkout -f master
但它对我没有帮助。无处不在写需要恢复最后一次提交,但我没有他的。
我如何恢复所有文件?
答案 0 :(得分:1)
你是否在git pull
之前提交并不是很清楚。还不清楚文件是如何被清除的,因为Git会先问你,除非你使用了一个强制标志。
无论如何,如果您在某个时候提交了文件,那么它们可能不会丢失。你确定你没有在任何分支上吗?先检查一下:
git log --graph --decorate --all --oneline
如果您没有看到提交,那么您可以尝试使用以下命令恢复已删除的文件:
git fsck --lost-found
输出可能如下所示:
Checking object directories: 100% (256/256), done.
Checking objects: 100% (3/3), done.
dangling blob 058a46ad6fec7b6ee95710eb06daa0b8169a5da0
dangling blob f1d509348c7689f0f127d9eba5324db8221d5603
注意悬挂的斑点。它们是已删除的文件。您可以使用git show SHA1
查看其内容,也可以在.git/lost-found/other/
中找到这些文件。
另一方面,如果您从未提交或暂存原始文件,那么它们就完全消失了。如果你从来没有告诉他们Git,那么它不知道它们,因此无法使用Git恢复。