恢复上演但未提交文件后,“混帐室射频”(Recover staged but not committ

2019-07-18 14:14发布

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

git init
git add --all

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

git rm -rf

我不承诺,但。 现在,我已经在我的项目的空文件夹。 在.git文件夹中有objects与53 MB的文件。

我怎样才能恢复我的文件? 我试着像钻光盘和恒星的方案,但没有找到我的文件。 我不能从GIT回滚。

我怎样才能恢复丢失的文件?

Answer 1:

(更新)使用git fsck相反,它是用于检索您曾经加入到git仓库文件内置命令。

git fsck --lost-found --unreachable

命令处理后,检索的文件将被放置在.git/lost-found/other ,具有SHA256散列的文件名。 虽然原来的名字仍然丢失了,内容会回来的。


你可以找到你的文件.git/objects目录。

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

git cat-file -p 2fae996

让你丢失的文件的内容。

但是很遗憾,我没有关于重建目录或自动做这样的想法。



Answer 2:

你有没有尝试过 :

git reset --hard

希望工程:)



文章来源: Recover staged but not committed files after 'git rm -rf'