9

我有一个 Windows 框,它已将其删除大部分 Git 存储库(必须触发重要工作检测器;)。我剩下的(我能找到的)就是对象。我也不确定对象的集合有多完整。是否可以仅从对象中恢复事物?据我所知,对象树是完整的。所有的包装和松散的物品都已到位;我只是没有说服 Git 的元数据。

4

3 回答 3

16

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

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

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

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

于 2011-04-23T23:46:41.547 回答
0

如果你还没有尝试过git checkout master,我会从那开始。

于 2011-04-23T23:18:29.977 回答
0

尝试使用这篇文章

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

该答案可能有一些 *nix 相关信息。让我知道它是否有帮助。

生病看看它做什么。

于 2011-04-23T23:32:55.683 回答