前言
可能是因为MS接管GitHub的原因,连接MS服务器clone代码比起之前github自己的服务器还要慢,几乎快到 x kb/s
, 估计是网络请求出国回国的审查手续过于繁重。现在前后端项目动辄几十上百M, 这种小水管下载速度实在不能等。
这种场景下,代理应该登场了
我之前知晓: 终端需要单独设置代理,才能使得终端命令走代理,而不是本机启动了代理程序就会走代理的
对于git命令,设置代理大致有两种途径
- 设置shell代理,基本上支持读取 $http_proxy 这类变量的命令都会跟随代理
- 设置git代理(git命令支持为自己配置代理)
shell 代理
很多命令支持读取环境变量 http_proxy
和 https_proxy
来作为自己的代理配置
这两个配置在默认的shell环境是不存在的,需要用户手动配置
以shadowsocks用户为例
1 | http 请求代理 |
有的shadowsocks代理接受的端口不一定是 1080
打开软件信息/配置面板查找自己软件相应的’socks5’端口替换即可
其他非 shadowsocks用户亦同
配置了shell代理后,如curl一类的其他终端命令也会走代理
git 代理
git config 命令可以对git运行环境做配置
1 | 只对 git 请求 https://github.com 请求 |
上述第一种配置方法,精确到请求的host, 这样配置可以使得只在请求 https://github.com
的时候使用代理,在访问如内网VCS、国内架设的gitlab、码云等服务的时候不会受代理的速度限制,推荐使用这种方法
git 配置的结果保存在 ~/.gitconfig
下, 如果你清楚这个配置文件的格式的情况下,你需要简单修改端口号或者做一些配置更改,也可以直接编辑这个文件
文件 | scope |
---|---|
~/.gitconfig | 对应 –global |
/etc/gitconfig | 对应 –system |
对应当前项目生效 |
ssh clone的额外配置
如果是使用git@github.com/xxxx
的克隆形式的话,还需要额外配置~/.ssh/config
1 | Host github.com |