将git仓库从一台ubuntu服务器推送到另一台ubuntu服务器时,我得到了以下错误:
Pushing to gitosis@xxx:yyy
Enter passphrase for key '/home/ngrislain/.ssh/id_rsa':
Counting objects: 88, done.
Compressing objects: 100% (50/50), done.
error: inflate returned -551), 22.15 MiB | 1.13 MiB/s
error: pack-objects died of signal 13MiB | 1.10 MiB/s
error: failed to push some refs to 'gitosis@xxx:yyy'我的磁盘还没满,我还可以拉...有人明白这一点吗?
谢谢,
发布于 2013-01-20 04:55:35
简而言之:您的远程存储库已损坏。
大多数对象(提交、旧文件内容等)在git存储库中都打包在.pack文件中。每当git需要访问这些对象时,它首先需要将它们解包。如果打包的文件损坏,git就不能再访问这些对象,这是不愉快的。
您试图推送到远程存储库,但该存储库似乎包含这样一个损坏的包文件。远程终端需要将其解包,但无法这样做。因此,它无法集成您的推送。
您需要修复您的远程存储库。由于git是一个分布式VCS,因此一种方法就是通过从您自己的存储库克隆来在服务器上创建一个新的存储库。
根据您感兴趣的详细程度,您还可以查看git-unpack-objects的手册页或zlib.c中的git源代码int git_inflate(...),其中包含失败的inflate调用。
还有一个关于如何修复损坏的存储库的GitFaq。
https://stackoverflow.com/questions/13816788
复制相似问题