仅从对象恢复Git存储库

Jas*_*emy 5 git disaster-recovery data-recovery

我有一个Windows框,它已经把它删除了大部分Git存储库(必须使重要的工作检测器绊倒;).我所剩下的(我能找到的)就是物体.我也不确定对象集合的完整程度.是否可以从对象中恢复东西?据我所知,对象树是完整的.所有包装和松散的物品都到位; 我只是没有元数据来说服Git.

CB *_*ley 10

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

幸运的话,你会看到很多悬空的物体,而且运气稍微好一些悬挂的物体将会提交物体,这将成为丢失树枝的秘诀.

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

要"恢复"它们,您只需使用git branch重新创建命名分支即可.