【发布时间】:2011-05-09 09:23:45
【问题描述】:
$ git pull
remote: fatal: object 21f3981dd35fccd28febabd96f27241eea856c50 is corrupted
error: git upload-pack: git-pack-objects died with error.
fatal: git upload-pack: aborting due to possible repository corruption on the remote side.
remote: aborting due to possible repository corruption on the remote side.
fatal: protocol error: bad pack header
任何想法为什么会失败?
当我运行git --bare fsck-objects --full 时,我只看到悬空链接,但没有损坏链接。 git gc 也没有任何帮助。当我重新克隆或从另一个克隆中提取时,我没有看到此错误。
【问题讨论】:
-
你在远程运行
git fsck吗?如果不是,它与错误无关 - 这是远程端的对象,您的仓库中的fsck检查您的仓库中的对象。它没有任何方法可以看到遥控器中的那些。 -
是的,我正在远程裸存储库中运行“git fsck”。
-
在遥控器上试试
git fsck --full 21f3981 ; git repack。如果再次发生这种情况,请检查您的防火墙。 -
非常感谢 Jefromi 和 J-16SDiZ 提供的信息,不幸的是我无法重现错误,这一次拉动有效,我什么也没做。当我再次收到此错误时,将尝试上述步骤。
-
我在使用 bitbucket 时遇到了同样的问题。 git fsck 可以解决问题。谢谢。