我的git客户端在尝试克隆存储库一段时间后反复失败,出现以下错误。

这里的问题是什么?

注意:我已经向GIT托管提供商注册了我的SSH密钥

Receiving objects:  13% (1309/10065), 796.00 KiB | 6 KiB/s
fatal: The remote end hung up unexpectedly

当前回答

当我通过ssh克隆存储库时,建议的解决方案都不适用。然而,我能够使用https克隆,然后后来将远程更改为ssh通过:

git remote set-url origin git@github.com:USERNAME/REPOSITORY.git

其他回答

我也遇到过类似的问题,不过是竹子做的活。竹是失败的做本地克隆(本地但通过SSH代理)缓存的存储库,我删除了缓存,之后它工作了,但任何时候它试图从本地缓存克隆有一个失败。似乎是bamboo的SSH代理版本的问题,而不是git本身。

对我来说唯一有效的方法是使用HTTPS链接而不是SSH链接克隆回购。

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

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

基于这个答案,我尝试如下(使用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>

唯一对我有用的是:

克隆浅: Git克隆<yourrepo>—深度10 编辑。git/config如下:

之前

[remote "origin"]
    fetch = +refs/heads/master:refs/remotes/origin/master

[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*

Git配置——global http。maxRequestBuffer 100 Git配置——global core.compression 0 Git获取