前言

虽然国内有码云,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 这种 SSH 协议的话并没有走代理

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

img

添加 ProxyCommand connect -S 127.0.0.1:7890 %h %p 即可

1
2
3
4
5
6
7
# 默认账户
# -S 是 SOCKS5 代理,想用 http / https 代理,把 S 改成 H 即可
ProxyCommand connect -S 127.0.0.1:7890 %h %p
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa

img

可以看到,接近 5 mb 了,如果没有代理,可以看我的另一篇 GitHub 加速 - Chrome 插件

npm 配置代理

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

取消代理

1
npm config delete proxy