git存储库无法遍历父错误

Pet*_*son 8 git

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

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

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

error: Could not read a2b6c2fa16e01db9e38d9509606a444e5831330a
fatal: Failed to traverse parents of commit 
       78e81a9a7f5cafa5e2af4b95d156364b9a430ac9
Run Code Online (Sandbox Code Playgroud)

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

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

任何人都可以帮助我直截了当吗?

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

wes*_*ton 10

我搜索了这个错误并找到了你的页面,在我的情况下问题是我做了:

git clone --depth 1 https://github.com/example/nifty.git
Run Code Online (Sandbox Code Playgroud)

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

这修复了我的情况:

git fetch --unshallow
Run Code Online (Sandbox Code Playgroud)

  • 在这种情况下你做了什么来解决它? (8认同)
  • 我发现我“致命:-在完整的存储库上打不开没有意义”。这可能是git的一个错误,但是在--unshallow似乎使git实际上变得不浅之前重新运行git fetch --depth = 1。 (2认同)

Rya*_*art 2

“悬空”的物体可能不是问题。这可能只是意味着您已经完成了一些重置、变基和/或删除了未完全合并的分支。另一方面,我认为“失踪”更为严重。看一下这篇关于修复损坏的存储库的文章。这可能会帮助你。如果你的版本已经过时了,你也可以尝试升级 git。较新的版本可能会更智能一些。