我的git客户端在尝试克隆存储库一段时间后反复失败,出现以下错误。
这里的问题是什么?
注意:我已经向GIT托管提供商注册了我的SSH密钥
Receiving objects: 13% (1309/10065), 796.00 KiB | 6 KiB/s
fatal: The remote end hung up unexpectedly
我的git客户端在尝试克隆存储库一段时间后反复失败,出现以下错误。
这里的问题是什么?
注意:我已经向GIT托管提供商注册了我的SSH密钥
Receiving objects: 13% (1309/10065), 796.00 KiB | 6 KiB/s
fatal: The remote end hung up unexpectedly
当前回答
这是由于网络连接问题,我也遇到过同样的问题。 我做了一个浅层的代码副本使用
git clone --depth 1 //FORKLOCATION
稍后取消浅化克隆使用
git fetch --unshallow
其他回答
对我来说唯一有效的方法是使用HTTPS链接而不是SSH链接克隆回购。
奥林匹克广播服务公司。:修改http。postBuffer可能还需要设置Nginx配置文件,让gitlab通过调优client_max_body_size的值来接受更大的客户端尺寸。
然而,如果你可以访问Gitlab机器或其网络中的机器,就有一个解决方案,那就是使用git bundle。
转到源计算机上的git存储库 运行git bundle create my-repo。包——所有 (如转移。, rsync) my-repo。绑定文件到目标计算机 在目标机器上,运行git clone my-repo.bundle Git远程地址:path/to/your/repo.git git推
祝你一切顺利!
这对我来说很有效,设置谷歌的命名服务器,因为没有指定标准的命名服务器,然后重新启动网络:
sudo echo "dns-nameservers 8.8.8.8" >> /etc/network/interfaces && sudo ifdown venet0:0 && sudo ifup venet0:0
浪费了几个小时尝试这些解决方案,但最终追踪到公司IPS(仪器保护系统)在传输一定量的数据后断开了连接。
基于这个答案,我尝试如下(使用https url):
repo初始克隆:
Git克隆——深度为25的url-here
Fetch每次尝试深度增加两次提交:
Git取回——深度50
Git取回——深度为100
Git取回深度200
...等等
最终(当我认为足够的获取),我运行git fetch -unshallow -它就完成了。
这个过程显然需要更多的时间,但在我的情况下设置http。postBuffer和core.compression没有帮助。
UPD:我发现通过ssh获取适用于任何回购大小(偶然发现),用git clone <ssh url>完成,前提是你已经创建了ssh密钥。一旦repo获取,我改变远程地址使用git远程set-url <https url repo>