![5e398f8f27fe52bfc6a33fa09a7f9e3c.png](https://i-blog.csdnimg.cn/blog_migrate/43430fc5acd2fe85f5e0ca33103893f4.jpeg)
本文首发在我的个人博客中:
个人博客|沧沧凉凉的小站www.cclliang.com1. 前言
之前有一篇文章介绍了Git
的使用方法:项目或者文件管理神器-Git。
一般对于电脑有一定认知的人都会知道GitHub
,但是因为GitHub
的服务器在国外,所以有时候连接速度非常的感人。
我们通过ipip.net
的路由跟踪来看一下我们访问GitHub
走的线路。
![d22819e28ff4ab27342356ec62662b61.png](https://i-blog.csdnimg.cn/blog_migrate/8a87cf218435a3c72d8f243fb6177be4.jpeg)
可以看到在广州出口走的骨干网到新加坡的服务器,这就是为什么访问GitHub
有时候会异常缓慢的原因,尤其是在晚高峰时期,通过骨干网出口的数据量过于庞大,电信还会选择权重不高的用户进行丢包,从而缓解骨干网拥挤的问题。
具体的服务器和线路详解可以参考:VPS的各种线路到底有什么区别。
2. 终极解决办法
看了网上有非常多的帖子说修改host
,但是我个人认为,修改host
并不能解决骨干网晚高峰拥挤的问题。
终极解决方法是通过代理服务器。
首先你需要有一个境外的服务器,参考VPS的各种线路到底有什么区别该文章中讲解的服务器,或者你有其它的代理软件也可以,但是连接代理服务器时的出口线路一定不能是骨干网,不然跟直连没有任何区别,依然连接缓慢。
关于代理服务器这里就不详细讲解了,这篇文章着重讲解如何通过代理服务器来连接GitHub
,从而摆脱缓慢的Clone
速度。
2.1 代码
# 设置ss
git config --global http.proxy socks5://127.0.0.1:1080
git config --global https.proxy socks5://127.0.0.1:1080
# 设置代理
git config --global https.proxy http://127.0.0.1:1080
git config --global https.proxy https://127.0.0.1:1080
# 取消代理
git config --global --unset http.proxy
git config --global --unset https.proxy
# 仅代理GitHub
git config --global http.https://github.com.proxy https://127.0.0.1:1080
git config --global https.https://github.com.proxy https://127.0.0.1:1080
2.2 步骤
首先需要知道你的代理服务器使用的端口号,在你的代理软件上可以看到,一般是1080
,但是Clash
默认使用的是7890
。
- 打开Git命令窗口,该窗口安装Git后在文件夹中点击右键选择
Git bash here
就会出现:
![d5760ed8a6ccd8cf6ac56465f8ea7e27.png](https://i-blog.csdnimg.cn/blog_migrate/64bd2a7833fb23b26009d8da824d15d1.png)
2. 输入git config --global http.proxy socks5://127.0.0.1:1080
点击回车。(1080
需要填写你的代理软件使用的端口号,我的是7890
)
![82f9bfcb6f85a79b18559f43312e87f3.png](https://i-blog.csdnimg.cn/blog_migrate/69b93724674a295691e7a858e96c274c.png)
3. 没有任何消息就是最好的消息,这个时候就设置完成了。
注意:其它的设置可以参考上面给出的代码。
3. 速度测试
3.1 没有用代理的速度
![6c4e4ce66777406c1723e560887d7d00.png](https://i-blog.csdnimg.cn/blog_migrate/3c9eec93334ba4ea6838e97a1398d77c.png)
3.2 用代理后的速度
设置完毕后,Clone
和git push
的速度就跟你代理服务器的质量密切相关。
![fde5446f02ff8378efe96da7e09595ad.png](https://i-blog.csdnimg.cn/blog_migrate/318b487543b001b8309726b472938404.png)
4. 使用镜像站
该方法仅对git clone
有用,对git push
无效,并且无法登陆账号,私人项目无法进行Clone
。
比如Clone
Vue
项目,项目地址:https://github.com/vuejs/vue.git
。
则将地址改为https://github.com.cnpmjs.org/vuejs/vue.git
。
4.1 速度
![986d4119cc4e8f1d97c5eb3d25541026.png](https://i-blog.csdnimg.cn/blog_migrate/b1d56c6f3d8ff8a8d14bc3a0e7a225ad.jpeg)
只需要在Clone
时将项目地址中的github.com
改为github.com.cnpmjs.org
,就可以使用镜像站。
那么为什么该镜像网站会这么快呢?我们再次通过ipip.net
的路由跟踪测试一下:
![66d6cfde7d48ac2445cf4a5295398a8f.png](https://i-blog.csdnimg.cn/blog_migrate/83343e4ef15a267017eb8783342d7877.jpeg)
可以看到,在省级城市已经走上了59.43
开头的线路,说明该服务器用的是CN2 GIA
的线路,所以拥有这么快的传输速度完全不奇怪。