如果系统在切换分支期间崩溃,如何恢复git存储库数据?

问题描述:

我在jboss developer studio (just like eclipse)转换分支。它要求我在切换之前提交更改。我输入temporary commit作为提交消息。然后IDE开始工作。如果系统在切换分支期间崩溃,如何恢复git存储库数据?

但是,当IDE做这一切时,由于电力不可用,系统崩溃。

当电源恢复时,我看到我的很多文件都是空白的,IDE没有将项目识别为git项目,git状态是not a git repository

如果系统在切换分支期间崩溃,如何恢复git存储库数据?

尝试查看什么是引用日志里,用:

git reflog 

如果你足够幸运,你应该找到临时提交到引用日志列表中,然后你就可以从那里恢复。

在这种情况下,你不会发现里面的任何引用日志使用该命令试试:

git fsck --full --no-reflogs --unreachable --lost-found 

上市提交复制到.git/lost-found/commit/和非承诺对象复制到.git/lost-found/other/

+0

git命令不起作用。 git不会将该文件夹识别为git存储库。所以这些命令不起作用。 – afzalex

+0

@afzalex所以这意味着你有一个损坏的回购,看看这个答案:http://*.com/questions/18678853/how-to-fix-corrupted-git-repository也许它可以帮助。 – aleroot