git下载问题解决方案汇总

大概率是firewall又升级了或者是国内服务器被撤掉了的原因

9年初开始git clone它突然就不香了,平时速度在3-8Byte晃动,想要clone一下体积稍稍大一些的项目就会各种fail exception 丢出来…展示一下收集找到的几种机制和解决方案。

=========================================================

方法一 直通根源,代理/搭电梯vvvvvvvvvvvvv

代理

挂上代理 https.proxy + 你的代理服务器地址:端口
网上搜搜免费proxy也是可以,不过最好自己捣鼓一个。
阿里的web应用应该算性价比最高的一个了。
一步到位

1
git config --global https.proxy https://127.0.0.1:1086

取消代理 http和https要分别取消。

1
2
git config --global --unset http.proxy
git config --global --unset https.proxy

搭电梯

对本地的hosts进行添加直接地址省去Domain的寻址
注意尽量使用有权限的账户
windows
hosts 位于 c:\windows\system32\drivers\etc
linux 和 mac
位于 /etc 内

ip查找方法:一般用nslookup

1
2
nslookup github.global.ssl.fastly.Net
nslookup github.com

或者上ipip去查询对应区域内github中转域名的ip

然后修改hosts
一般里面是只有注释的

1
2
151.101.76.249 http://global-ssl.fastly.net
192.30.255.113 http://github.com

修改完了就可以刷新一下DNS缓存,以防走第一次DNS找到的老路

linux:

sudo /etc/init.d/networking restart

mac:

sudo killall -HUP mDNSResponder

windows:

ipconfig /flushdns

=============================================================

方法二 修改git本身的耐性

1.提高缓存上限
提高缓存上限能解决 curl 56的问题

1
git config http.postBuffer 524288000`

执行上面命令如果依旧clone失败,考虑可能原因2:网络下载速度缓慢

解决方法:命令行输入 或者是去 .gitconfig(在当前用户的根目录下)直接修改

2.下载速度下限限制解除
这个可能解决curl 18

1
2
git config --global http.lowSpeedLimit 0
git config --global http.lowSpeedTime 999999

如果依旧clone失败,则首先浅层clone,然后更新远程库到本地
当然如果只是使用可以只浅拷贝1就够了不用fetch

1
2
git clone --depth=1 http://gitlab.xxx.cn/yyy/zzz.git
git fetch --unshallow

3.压缩配置(有可能起反作用,请最后再尝试和2一起组合使用)

git config --global core.compression -1

如果还是不行,最后方法

终极方法 利用某ee结尾的员工转存提高下载速率

Gitee
先在码云上注册帐号
码云提供免费5g大小的空间
足够百分之99的项目转存
在容量不够的时候可以删除一些不必要的项目的
使用码云的从gitlab 或github上导入项目功能先导入到gitee再从gitee的服务器直接clone下来
码云:???就真工具人呗

评论