git错误 - 无法推送一些引用(pack-objects因奇怪错误而死亡)

时间:2009-11-23 03:51:05

标签: git

当我尝试推送到新的远程存储库时,我遇到了一个奇怪的错误。我是一个新手,但是在一些教程之后,我能够在远程服务器上设置一些测试存储库并推送给他们。但是我想要推高的主要存储库给我带来了麻烦。这就是我所做的。

在远程服务器上,我创建了一个新目录。然后我在该目录中初始化了一个裸git存储库。在我的机器上我添加了遥控器,然后我推到了远程站点。看起来它有效,但过了一会儿我回来发现了这个错误。

Counting objects: 4364, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (4240/4240), done.
error: pack-objects died with strange error | 44 KiB/s   
error: failed to push some refs to 'mysite:main_site_repo'

可能有什么不对?在这个存储库中,我确实有一些媒体文件(每个大约40MB)。他们会成为一个问题吗?我没有得到任何超时错误,但我确实看到它在失败之前通过大约44MB。有没有办法让git吐出调试信息?

此外,我不小心让这个存储库脱离了主分支并进行了一些提交,而不是在任何分支上。我将所有东西合并回主分支,现在又在那里工作了,但这可能是问题的根源吗?

我电脑上的git版本:1.6.4.4 服务器上的git版本:1.6.2.3

4 个答案:

答案 0 :(得分:2)

你有任何大型二进制文件吗? Git不能很好地处理大型二进制文件。 它的内存不足。尝试禁用delta并重试。

使用:

*.iso  binary -delta

在您的.gitattribute中,其中*.iso是您的大文件名

答案 1 :(得分:1)

感谢大家的回复。我会记得在下次发生这样的事情时检查这些事情。事实证明,这次问题是由于我正在推动杀死长时间运行过程的服务器,这是安全预防措施的一部分。我和管理员聊了聊,他已经更新了,所以我的推送工作现在就可以了。

再次感谢所有人的帮助。

答案 2 :(得分:1)

由于权限错误,我经常收到此错误,其中对象目录中的某些文件归错误的用户所有。如果您作为一个用户在本地推送到存储库但是作为不同的用户远程(通过SSH)推送到同一个存储库,就会发生这种情况,就像gitosis一样。但情况也可能发生在其他情况下。

答案 3 :(得分:0)

不幸的是,错误消息相当模糊,可能指向许多问题。最常见的问题是远程服务器上的Git版本与用于本地推送的版本不同。我注意到你的本地版本的Git是1.6.4.4,而远程版本是1.6.2.3。将服务器上的Git版本升级到1.6.4.4并查看问题是否消失。