我在谷歌上搜索过,找到了很多解决方案,但没有一个适合我。

我试图通过连接到LAN网络中的远程服务器从一台机器克隆。 在另一台机器上运行此命令会导致错误。 但是使用git运行相同的克隆命令://192.168.8.5…在服务器上,这是正常的并且成功的。

有什么想法吗?

user@USER ~
$ git clone  -v git://192.168.8.5/butterfly025.git
Cloning into 'butterfly025'...
remote: Counting objects: 4846, done.
remote: Compressing objects: 100% (3256/3256), done.
fatal: read error: Invalid argument, 255.05 MiB | 1.35 MiB/s
fatal: early EOF
fatal: index-pack failed

我已经在.gitconfig中添加了这个配置,但也没有帮助。 使用git版本为1.8.5.5.2 .msysgit.0

[core]
    compression = -1

当前回答

我在设置git缓冲区后尝试了几次,正如我在问题中提到的,现在似乎工作了。

所以如果你遇到这个错误,运行这个命令:

git config --global http.postBuffer 2M

然后再试几次。

参考:

git推送错误:RPC失败;result=56, HTTP code = 0

其他回答

以前的回答建议设置为512m。我想说,有理由认为这在64位架构上是适得其反的。核心文档。packedGitLimit说:

缺省情况下,在32位平台上是256mib,在64位平台上是32tib(实际上是无限的)。这对于所有用户/操作系统都是合理的,除了最大的项目。您可能不需要调整这个值。

如果你想尝试一下,检查你是否设置了它,然后删除设置:

git config --show-origin core.packedGitLimit
git config --unset --global core.packedGitLimit

在此期间,我关闭了所有正在进行的下载,这可能释放了一些空间,并清除了带宽

对我来说,当我把压缩改为 Git配置——global core.compression

这是

此错误可能发生在git的内存需求。您可以将这些行添加到全局git配置文件中,即$USER_HOME中的.gitconfig,以解决这个问题。

[core] 
packedGitLimit = 512m 
packedGitWindowSize = 512m 
[pack] 
deltaCacheSize = 2047m 
packSizeLimit = 2047m 
windowMemory = 2047m

这对我来说很有效,设置谷歌的命名服务器,因为没有指定标准的命名服务器,然后重新启动网络:

sudo echo "dns-nameservers 8.8.8.8" >> /etc/network/interfaces && sudo ifdown venet0:0 && sudo ifup venet0:0