如何让 git clone git@github.com 快到让你流泪

如何设置git Proxy

git http proxy

首先你要有一个socks5代理服务器,从 github.com 拉代码的话海外的代理速度才快,可以用阿里郎的网络加速,也可以自己配置*这样的代理。

Windows阿里郎启动网络加速后会在本地生成socks5代理:127.0.0.1:13658

下面的例子假设你的socks5代理是: 127.0.0.1:13658

执行如下命令

git config --global http.proxy socks5://127.0.0.1:13658

上面的命令实际上是修改了 .gitconfig:

$cat ~/.gitconfig   
[http]
    proxy = socks5://127.0.0.1:13658

现在git的http代理就配置好了, git clone https://github.com/torvalds/linux.git 速度会快到你流泪(取决于你的代理速度),我这里是从每秒10K到了3M 。

注意:

  • http.proxy就可以了,不需要配置https.proxy
  • 这个http代理仅仅针对 git clone https:// 的方式生效

配置git ssh proxy

如果想要 git clone git@github.com:torvalds/linux.git 也要快起来的话 需要配置 ssh proxy

这里要求你有一台海外的服务器,能ssh登陆,做好免密码,假设这台服务器的IP是:2.2.2.2

修改(如果没有就创建这个文件)~/.ssh/config, 内容如下:


$cat ~/.ssh/config 
host github.com
#LogLevel DEBUG3
ProxyCommand ssh -l root 2.2.2.2 exec /usr/bin/nc %h %p

然后 git clone git@github.com:torvalds/linux.git 也能飞起来了

需要注意你的代理服务器2.2.2.2上nc有没有安装,没有的话yum装上,装上后再检查一下安装的位置,对应配置中的 /usr/bin/nc

写这些主要是从Google上搜索到的一些文章,http的倒还是靠谱,但是ssh的就有点乱,还要在本地安装东西,对nc版本有要求之类的,于是就折腾了一下,上面的方式都是靠谱的。

整个原理还是穿墙术。 可以参考 :SSH 高级用法和技巧大全

上一篇:就是要你懂TCP -- 握手和挥手


下一篇:C语言参考库