如果没有提交,有什么方法可以从`git rm * -r -f`恢复?

时间:2014-04-02 13:58:37

标签: git

我不知道这是否是最好的问题,但我有一个严重的问题。

我在一个项目上工作了3个月。并打算去GIT。

我在一个月前做了git init。在init之后的几天,我重新命名了这个项目。

之后我不小心做了这些命令。

git rm * -r -f - 因为某些“删除”没有为提交而上演 git reset --hard - 因为我认为我可以在git rm之前重置。

我不知道git能够删除文件而且没有提交任何内容。

我能够恢复我的文件,以及如何?

3 个答案:

答案 0 :(得分:2)

感谢@torek和Recover dangling blobs in git。我收回了我的档案!

我做了git fsck --lost-found,我的所有文件都在.git/lost-found/other

我创建了一个新的xcode项目,经过一个小时的工作,一切都恢复了工作!

答案 1 :(得分:1)

由于你从未提交过任何内容,因此文件已经消失。

您可以使用git reflog进行确认,并确认没有提交任何提交。

空存储库的reflog如下所示:

$ git reflog
fatal: bad default revision 'HEAD'

而不是具有单个提交的存储库:

$ git reflog
a1b2c3d HEAD@{0}: commit (initial): Initial commit

答案 2 :(得分:1)

如果您正在使用具有本地历史记录的Eclipse之类的IDE,则可以尝试(从本地历史记录恢复)。 如果你有像maven构建的东西也生成了一个源jar,那么你也可以尝试它。

否则,抱歉您的文件已经消失。 下次:提前提交,经常提交。