16

在我的本地机器上,我从文件夹中删除了文件。

git init
git add --all

然后我写了(不要问我,为什么!:))

git rm -rf

我还没有承诺。现在我的项目中有空文件夹。.git文件夹中有objects53 Mb 的文件。

如何恢复我的文件?我尝试过像 Drill Disc 和 Stellar 这样的程序,但没有找到我的文件。而且我无法从 GIT 回滚。

如何恢复丢失的文件?

4

2 回答 2

13

(更新)改用git fsck它,它是一个内置命令,用于检索您曾经添加到 git 存储库的文件。

git fsck --lost-found --unreachable

在命令处理之后,检索到的文件将被放置在.git/lost-found/other,文件名为 sha256 哈希。虽然原来的名字还是丢失了,但内容会回来的。


您可以在您的目录中找到您的文件.git/objects

假设有一个.git/objects/2f/ae996f8f8f9298b41ba4fdbac3d62014f9579e对象,可以执行

git cat-file -p 2fae996

获取丢失文件的内容。

但我很抱歉,我不知道重建您的目录或自动执行此操作。

于 2013-01-23T08:38:36.140 回答
-2

你有没有尝试过 :

git reset --hard

?

希望有效:)

于 2013-01-23T08:12:27.487 回答