前言

虽然国内有码云,coding 等,但我个人还是喜欢 github,毕竟用户量摆在那,而且还是全球的大佬都在那开源贡献,我很喜欢这种精神,很棒,向他们致敬

但是,国内在 github 克隆速度非常慢,龟速下载

如图,最慢 30 多 k,最快接近 200 k,然后就慢慢的又下降到几十 k….照这速度,不知道猴年马月能克隆完成

img

那么如何从几十 k 的速度变成 mb 呢?

配置

其实就是给 Git 设置代理

如果你克隆的是 HTTPS 协议,那么就输入如下命令

1
git config --global http.proxy socks5://127.0.0.1:7890 # 设置全局代理

至于 7890 这个端口号,取决于你代理

img

设置代理之后再来看下克隆的速度

img

哦麦嘎等,7m 了呢

但是有的人呢,不仅用 github 还用国内的托管平台,那如果设置全局代理之后,在国内的托管平台上克隆的话难免会遇到点问题

那有没有只对 github 生效的命令呢?答案是有的呢,输入如下命令哦

1
git config --global http.https://github.com.proxy socks5://127.0.0.1:7890

取消全局代理输入如下命令哦

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

当你设置如上的 HTTPS 协议的代理时,你会发现😮,你克隆像 git@github.com:xxx/xxx.git 这样的话并没有走代理

oh no!那该怎么办呢?ok 的呢,不要急

先去 user/.ssh/config 看看有没有 config 文件,没有的话自己手动创建一个(touch config)

img

在最后面加入 ProxyCommand connect -S 127.0.0.1:7890 %h %p 即可

1
2
3
4
5
6
# 默认账户                                                       
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
ProxyCommand connect -S 127.0.0.1:7890 %h %p # ProxyCommand connect -H 127.0.0.1:7890 %h %p
img

OMG,接近 5 mb 了呢

-S 是SOCKS5代理

如果你把 -S 替换成 -H 那就是 http 代理 or https 代理

有的人想,我没代理啊,那宁只能默默的按下 CTRL + W 了,亦或者看我的另一篇 那些关于GitHub的谷歌插件

npm配置代理

1
npm config set proxy http://127.0.0.1:7890

取消代理

1
npm config delete proxy