• git 走 http 协议时,
  1. 设置 git config –global http.https://github.com.proxy socks5://127.0.0.1:1086, 效果如下:确实快了
git clone https://github.com/micro/go-micro.git
Cloning into 'go-micro'...
remote: Enumerating objects: 67, done.
remote: Counting objects: 100% (67/67), done.
remote: Compressing objects: 100% (57/57), done.
remote: Total 12415 (delta 16), reused 31 (delta 8), pack-reused 12348
Receiving objects: 100% (12415/12415), 3.27 MiB | 355.00 KiB/s, done.
Resolving deltas: 100% (7406/7406), done.
  1. 设置 git config –global http.https://github.com.proxy socks5h://127.0.0.1:1086, 效果如下:更快了
git clone https://github.com/micro/go-micro.git
Cloning into 'go-micro'...
remote: Enumerating objects: 67, done.
remote: Counting objects: 100% (67/67), done.
remote: Compressing objects: 100% (57/57), done.
remote: Total 12415 (delta 16), reused 31 (delta 8), pack-reused 12348
Receiving objects: 100% (12415/12415), 3.27 MiB | 922.00 KiB/s, done.
Resolving deltas: 100% (7407/7407), done.
  • git 走 ssh 协议时(git@开头),
  1. 不设置 ssh 走代理, 效果如下:龟速。。。。。。
git clone git@github.com:micro/go-micro.git
Cloning into 'go-micro'...
remote: Enumerating objects: 58, done.
remote: Counting objects: 100% (58/58), done.
remote: Compressing objects: 100% (50/50), done.
remote: Total 12406 (delta 12), reused 26 (delta 6), pack-reused 12348
Receiving objects: 100% (12406/12406), 3.27 MiB | 13.00 KiB/s, done.
Resolving deltas: 100% (7402/7402), done.
  1. 设置 ssh 走代理,按如下操作
vi ~/.ssh/config, 增加如下内容(macOS)
Host github.com
User git
ProxyCommand nc -X 5 -v -x 127.0.0.1:1086 %h %p

效果如下:闪电般的速度

git clone git@github.com:micro/go-micro.git
Cloning into 'go-micro'...
Connection to github.com port 22 [tcp/ssh] succeeded!
remote: Enumerating objects: 67, done.
remote: Counting objects: 100% (67/67), done.
remote: Compressing objects: 100% (57/57), done.
remote: Total 12415 (delta 16), reused 31 (delta 8), pack-reused 12348
Receiving objects: 100% (12415/12415), 3.28 MiB | 1.93 MiB/s, done.
Resolving deltas: 100% (7409/7409), done.
  • 浏览器访问 github 加速设置

默认 GFW list 上没有 github.com ,即浏览器访问 github 默认不走 SS 代理,如果速度慢,可以手工修改 PAC 规则,增加如下内容: ||github.com^ 即可强制通过SS代理访问 github.com 。

  • git 取消走代理,还原配置
--http 协议
git config --global --unset http.https://github.com.proxy
--ssh 协议
注释掉 ~/.ssh/config 相关配置
  • 结论

综上,个人觉得使用 ssh 协议走代理速度最快,其次是 http 协议走 socks5h:// ,最后是 http 协议走 socks5:// 。本人经过一段时间的实践,发现也确实如此。

  • 参考资料

git 设置和取消代理