github下载慢或报错“The-remote-end-hung-up-unexpectedly”解决办法

github下载慢或报错“The-remote-end-hung-up-unexpectedly”解决办法:该问题往往因为内部网络限制等因素导致。

  因细节更新,欢迎访问本文源站链接:https://turbock79.cn/?p=173

1.方法一

  解决gitbub下载慢问题,可尝试设置缓存大小设定

git config --global http.postBuffer 1048576000
git config --global http.lowSpeedLimit 0
git config --global http.lowSpeedTime 999999

2.方法二

  解决gitbub下载慢问题,在方法一基础上,尝试方法二,采用SSH或https传输协议克隆。同时限定下载文件内容大小

  • 仅下载某分支
 git clone -b stable/1908 "ssh://XXXXX@gerrit.fd.io:29418/vpp"
  • 下载深度设定 1,然后下载完某项目后,再下载指定内容。
git clone --depth=1 "ssh://XXXXX@gerrit.fd.io:29418/vpp"
git fetch --all
git reset --hard origin/master

3.方法三

  gitbub下载慢,主要因为DNS问题。在非限制网络环境下(公司网络限制较多,可换为个人热点,家庭路由等),修改hosts文件。在https://www.ipaddress.com 查找 http://github.com 和 http://global-ssl.fastly.Net 对应的IP地址,或采用ping命令查询到IP。这些IP会随着主网站变化而改变,所以需要使用时经常更新。

建议采用dig/nslookup的命令查询到IP

#安装bind-utils用于dns解析查询,dig/nslookup等命令(可选操作)
yum install -y bind-utils
dig github.com
dig github.global.ssl.fastly.net
#例如:
#1.  `13.250.177.223` 对应的 `github.com`
#2.  `31.13.80.1` 对应的 `github.global.ssl.fastly.net`
  • 在linux/Mac下:
  1. 打开文件路径/etc/hosts,拷贝出该hosts文件;

  2. 将下列内容加入到拷贝出的hosts文件中:

    52.74.223.119 github.com
    199.59.150.11 github.global.ssl.fastly.net
    151.101.0.249 global-ssl.fastly.net
    185.199.111.153 assets-cdn.github.com
    
  3. 用拷贝出的文件替换hosts文件;

  4. 打开终端:输入以下内容,刷新DNS缓存:yum install -y nscd;sudo service nscd restart, 或者重启。

  • 在Windows下:
  1. 用记事本打开hosts文件(路径在:C:\Windows\System32\drivers\etc\hosts)

  2. 将下列内容加入到拷贝出的hosts文件中:

    13.250.177.223 github.com
    31.13.80.1 github.global.ssl.fastly.net
    151.101.184.249 global-ssl.fastly.net
    185.199.111.153 assets-cdn.github.com
    
  3. 打开终端:输入以下内容,刷新DNS缓存:ipconfig /flushdns

4.方法四

  大哥,您还是换个网络吧。移动热点也行,网速至少能快一点。不过有些情况下,换网也没用,下载完成后仍然会终止。

<think>好的,我现在需要帮用户解决Git Clone时出现的“the remote end hung up unexpectedly”错误。首先,我得回忆一下之前处理类似问题的经验,者查找相关的资料。根据用户提供的引用内容,有几个可能的原因和对应的解决方案。 首先,用户提到了四个引用链接,分别对应不同的解决方法。引用[1]和[2]提到了调整Git配置,比如http.postBuffer的大小,者改用SSH协议。引用[3]和[4]则涉及网络问题,比如TLS错误和网速,可能需要调整Git的配置参数,者检查网络环境。 接下来,我需要整理这些解决方案,分步骤说明。可能的步骤包括:调整缓存区大小、处理网络问题、改用SSH协议、检查仓库大小、更新Git版本等。每个步骤需要简明扼要地解释如何操作,以及背后的原因。例如,增大postBuffer可以解决大文件传输的问题,而改用SSH可能绕过HTTP的一些限制。 还需要考虑用户的具体情况,比如他们使用的是HTTP还是SSH,仓库的大小,网络状况如何。但用户的问题比较通用,所以需要给出通用的解决步骤。同时,生成的相关问题应该覆盖用户可能遇到的后续疑问,比如如何配置SSH、如何优化Git性能等。 最后,要确保回答结构清晰,步骤有序,引用正确。每个解决方案后面需要加上对应的引用标记,如[^1]、[^2]等。同时,避免使用Markdown格式,保持自然的中文表达,让用户容易理解和操作。</think>### Git Clone出现"The remote end hung up unexpectedly"错误的解决方案 该错误通常由网络连接不稳定、仓库体积过大Git配置限制导致,可按以下步骤排查: --- #### 一、调整Git缓存配置(适用于大仓库) 1. **增大`http.postBuffer`值** 默认缓存区(1MB)可能导致大文件传输中断,建议设置为1GB: ```bash git config --global http.postBuffer 1073741824 ``` 该设置允许Git处理更大的数据包[^4]。 2. **延长低速传输限制** 若网络波动频繁,降低传输速度限制: ```bash git config --global http.lowSpeedLimit 0 git config --global http.lowSpeedTime 99999999 ``` 此配置允许Git在低速下持续传输。 --- #### 二、优化网络环境 1. **切换传输协议** HTTP协议可能受代理防火墙干扰,改用SSH协议: ```bash git clone git@github.com:user/repo.git ``` 注意:需提前配置SSH密钥。 2. **检查TLS/SSL问题** 若出现类似`GnuTLS recv error`的报错,尝试: ```bash sudo apt-get install gnutls-bin # Ubuntu更新TLS库 git config --global http.sslVerify false # 临时关闭SSL验证(慎用) ``` 适用于镜像站克隆时TLS包解析失败的情况[^3]。 --- #### 三、分阶段操作(超大仓库) 1. **浅层克隆** 仅拉取最新提交历史: ```bash git clone --depth=1 https://example.com/repo.git ``` 2. **分段下载** 先初始化空仓库再逐步拉取: ```bash git init git remote add origin https://example.com/repo.git git fetch --depth=1 # 分批次增加depth值 ``` --- #### 四、其他排查项 1. **检查仓库体积** 部分平台(如GitHub)限制单次传输文件大小,需确认仓库无超大文件。 2. **更新Git版本** 旧版本存在已知网络问题: ```bash git --version # 确认版本≥2.30 sudo apt upgrade git # Ubuntu更新 ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值