git存储库无法遍历父错误

时间:2011-07-15 21:05:22

标签: git

我是git的新手,直到今晚才开心。我一直在做出改变。我在unfuddle和beanstalk以及一个本地文件系统远程维护着两个遥控器。

从来没有出现过错误,经过几天的工作后,我将我的更改推到了所有的遥控器上,相信这些让我非常安全。没有错误也没有问题。

今天晚上,我去查看我项目的日志,并为我的痛苦得到了这个错误:

error: Could not read a2b6c2fa16e01db9e38d9509606a444e5831330a
fatal: Failed to traverse parents of commit 
       78e81a9a7f5cafa5e2af4b95d156364b9a430ac9

据我所知,历史可以追溯到5月29日。我无法从任何遥控器克隆副本。我无法在任何地方使用其他克隆来恢复存储库。我甚至不知道什么时候它破了。我检查了常见问题,但我不知道存储库恢复部分的作者正在谈论什么。

当我运行git fsck时,我得到了155行,并且悬空了。 很明显,我想清理一下。我可以在5月29日之前没有历史。如果我能从那时起直接得到它。

任何人都可以帮我解决这个问题吗?

还有什么可能导致这种情况?在那个时期,我唯一能想到的就是我将netbeans升级到v7,它应该有git支持但似乎不能识别现有的存储库。

2 个答案:

答案 0 :(得分:9)

我用Google搜索了这个错误并找到了您的页面,在我的情况下问题就是我已经完成了:

git clone --depth 1 https://github.com/example/nifty.git

但是几个月之后,忘记了我只抓住了最新的提交,当我试图把它推到另一个遥控器时它抱怨了。我花了一点时间才弄清楚它不是一个损坏的回购,而是我从未让父母提交的事实!希望这有助于某人。

这解决了我的情况:

git fetch --unshallow

答案 1 :(得分:1)

“悬空”物体可能不是问题。这可能只是意味着您已经完成了一些未完全合并的重置,重新定位和/或删除的分支。另一方面,“失踪”更严重,我相信。在repairing a damaged repo上查看这篇文章。这可能会帮助你。如果你已经过时,你也可以尝试升级git。较新的版本可能会更聪明一些。