我有一个很大的git仓库,想从中克隆。在一台计算机(ArchLinux带有git版本2.2.2)上,一切正常...
Cloning into 'foo'
remote: Counting objects: 2372505, done
remote: Compressing objects: 100% (456914/456914), done.
Receiving objects: 100% (2372505/2372505), 3.81 GiB | 6.20 MiB/s, done.
...
...但是在另一台机器上(Ubuntu的git版本为2.3.0,也尝试使用1.7.0.4),我只看到以下内容:
Cloning into 'foo'
remote: Counting objects: 2372505, done.
几个小时后,结尾为
Write failed: Broken pipe
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
有什么问题吗?
顺便说一句:
已解决!我使用DNS名称连接到gitlab服务器,但我不知道:该名称已解析为同一服务器的外部IP,因此,服务器和客户端不在同一子网中。
因此,客户端连接到服务器的外部IP,因此防火墙必须将其NAT转换回服务器。
[解决方案非常简单:我只是将带有内部ip的主机名添加到客户端计算机的/etc/hosts
文件中,而从克隆服务器上的主机名起的作用就很吸引人。
关于GitLab,this thread提及(类似错误)
我通过编辑
git/config/unicorn.yml
并将超时设置为120(以前是30,然后重新启动gitab服务,解决了该问题(无法通过HTTP检出大型仓库)。
如果这不仅与Git托管服务器有关,而且与Git本身有关,那么您还可以尝试其他选择:
git/config/unicorn.yml
对我来说,尝试了所有在网络上找到的建议后,事实证明VPN连接一直在不断地连接和断开。看来,如果有太多的“网络中断”或有损网络,则git clone“ jams”,最终您会收到Broken pipe-error消息。
要进行调试,如果有任何实际流量,可以使用
fatal: early EOF fatal: index-pack failed
或
iptraf
就我而言,最初的稳定流量为2MB / s,但是几秒钟后,基础连接断开,克隆流再也无法恢复,直到我修复OpenVPN连接以保持稳定为止。