我在 Github 上创建了一个 Git 存储库和一个 Remote 。在我制作的项目文件夹中 git init
被遗忘的第一个 git commit
.在我从远程存储库制作 git pull 并且我在本地文件夹中的所有文件消失后。我试过
git reset --hard origin/master
git reset --hard
git checkout <filename>
git checkout -f master
但这对我没有帮助。到处写需要恢复上次提交但我没有他的。
如何恢复我的所有文件?
最佳答案
不是很清楚你之前是否提交过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
注意悬垂的 Blob 。它们是已删除的文件。您可以通过
git show SHA1
查看他们的内容,或者您可以在 .git/lost-found/other/
中找到这些文件.另一方面,如果您从未提交或暂存原始文件,那么它们就完全消失了。如果您从未将它们告诉 Git,那么它就不知道它们,因此无法使用 Git 进行恢复。
关于git - 无需提交即可恢复git repo中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22272040/