git配置代理

_

背景

  • 国内使用下载github的资源视网络环境情况可能会非常慢,近几年波及的范围越来越广,在不使用科学上网的情况下甚至打不开github.com

  • 即便使用科学上网,对于在控制台的git clone一类操作也默认不会走代理,速度依然很慢

  • 但是git本身支持配置代理规则,也即本文记录的内容

http协议代理

前置条件

  • 机器上安装了git

  • 有一个科学上网结点,且在机器上打开(配置了系统代理),假定代理端口为7890

配置

  • 指令:git config --global http.proxy socks5://127.0.0.1:7890

  • 上面的命令其实是修改了.gitconfig配置

     [http]
             proxy = socks5://127.0.0.1:7890
  • 上面只配置了http代理,这就足够了,不需要配置https代理

  • 这个http代理仅仅针对git clone https:// 的方式生效

ssh协议代理

  • git clone git@github.com:xxx.git这种方式使用的是ssh协议

前置条件

  • 有一台能快速访问github的服务器(海外服务器),能够ssh登录,假定IP为1.2.3.4

  • 在代理服务器上安装好nc,yum install nc,假定安装位置为/usr/bin/nc

配置

  • 修改ssh的配置文件~\.ssh\config,添加内容

     host github.com
         #LogLevel DEBUG3
         ProxyCommand ssh -l root 1.2.3.4 exec /usr/bin/nc %h %p
  • 此时对git clone git@github.com:xxx.git一类指令也能适用网络加速

评论区