我有一个Windows框,它已经把它删除了大部分Git存储库(必须使重要的工作检测器绊倒;)。我所剩下的(我能找到的)就是物体。我也不确定对象集合的完整程度。是否可以从对象中恢复东西?据我所知,对象树是完整的。所有包装和松散的物品都到位;我只是没有元数据来说服Git。
答案 0 :(得分:9)
我要尝试的第一件事是用git init
初始化一个新的存储库。然后我将对象目录从死存储库复制到新的存储库中。然后我在新的存储库中运行git fsck
。
运气好的话,你会看到很多悬空的东西,而且运气稍微好一些悬挂的物体会提交物体,这将是丢失树枝的秘诀。
如果您在这些提交上运行git show
和/或git log
,您可能会识别出某些分支。
要“恢复”它们,您只需使用git branch
重新创建命名分支。
答案 1 :(得分:0)
如果您还没有尝试git checkout master
,我会从那开始。
答案 2 :(得分:0)
尝试使用这篇文章
How to recover Git objects damaged by hard disk failure?
该答案可能包含一些* nix相关信息。如果有帮助,请告诉我。
我看看它做了什么。