数据恢复-仅从对象恢复Git存储库



我有一个Windows盒子,它已经把它的头删除了Git存储库的大部分(一定是触发了重要工作检测器;)。我所能找到的就是这些东西了。我也不确定这些物品的收集有多完整。有可能从物体中恢复东西吗?据我所知,对象树是完整的。所有包装和散件均已到位;我只是没有足够的元数据来说服Git

我要尝试的第一件事是用git init初始化一个新的存储库。然后将对象目录从失效存储库复制到新存储库中。然后在新的存储库中运行git fsck

运气好的话,你会看到很多悬空对象,运气好的话,一些悬空对象将是提交对象,它们将是丢失的分支的尖端。

如果你在这些提交上运行git show和/或git log,你可能能够识别出一些分支。

要"恢复"它们,您可以使用git branch重新创建命名分支。

如果您还没有尝试过git checkout master,我将从它开始。

尝试使用这个帖子

如何恢复因硬盘故障损坏的Git对象?

的答案可能有一些*nix相关的信息。如果有帮助,请告诉我。

最新更新