加速Github的clone速度

起因

今天想把Hexo重新初始化一下(当做升级),然后把文章和主题,再迁入进去
在运行hexo init xxx的时候,需要去github上面clone项目下来
这个clone的速度实在让人崩溃,无法接受

分析

我电脑上其实已经运行了一个ShadowsocksX-NG,而且设置成了全局模式,本想应该不会卡吧
访问github网页,完全是没有问题的,速度飞一样的,只是clone的时候非常慢
估计git命令肯定个没走ShadowsocksX-NG。于是搜了下,git原来还可以设置proxy
于是就试试呗,在命令行里面执行

1
2
$ git config --global http.proxy 'socks5://127.0.0.1:1086' 
$ git config --global https.proxy 'socks5://127.0.0.1:1086'

果然飞起来了

最终

但是,平时大部分时间,其实我们主要还是在用gitee.com
那么,每次打命令打开关闭,来来回回肯定是好麻烦的

自己写个脚本

于是写了一个小脚本gp(git proxy)
放到/usr/local/bin

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash

echo "$0"

if [[ "$1" == "y" ]]; then
git config --global http.proxy 'socks5://127.0.0.1:1086'
git config --global https.proxy 'socks5://127.0.0.1:1086'
elif [[ "$1" == "n" ]]; then
git config --global --unset http.proxy
git config --global --unset https.proxy
elif [[ "$1" == "t" ]]; then
git config --global --get http.proxy
fi

记得给下执行权限:

1
$ chmod a+x /usr/local/bin/gp

使用

启用git代理

1
gp y

取消git代理

1
gp n

查看当前git代理设置

1
gp t