git clone 配置代理

分享
2020-03-19 12:31

迫于特殊原因,git clone 龟速不能忍。这里记录一下 git 设置代理的方式。

HTTP

当克隆仓库时使用 http 协议时,可以给 git 配置 http 代理

# 如果是 HTTP 协议的代理
git config --global http.proxy http://127.0.0.1:1080
git config --global https.proxy https://127.0.0.1:1080

# 如果是 SOCKET5 协议代理
git config --global http.proxy 'socks5://127.0.0.1:1080'
git config --global https.proxy 'socks5://127.0.0.1:1080'

注意,代理服务器的地址和端口请根据自己的配置修改

SSH

如果是用 SSH 协议克隆仓库,会发现上面的配置将不起作用,很显然,SSH 协议克隆需要给 SSH 配置代理

经过查找资料,发现 windows 下面要这样配置

# %home%\.ssh\config 
# 如果没有 config 文件就自己创建

ProxyCommand connect -S 127.0.0.1:1080 %h %p

Host github.com
  User git
  Port 22
  Hostname github.com
  IdentityFile "C:\users\tyx1703\.ssh\id_rsa"
  TCPKeepAlive yes
  IdentitiesOnly yes

Host ssh.github.com
  User git
  Port 443
  Hostname ssh.github.com
  IdentityFile "C:\users\tyx1703\.ssh\id_rsa"
  TCPKeepAlive yes
  IdentitiesOnly yes

上面是 SOCKET5 协议的代理,如果是 HTTP 协议的代理,需要将 -S 修改为 -H

ProxyCommand connect -H 127.0.0.1:1080 %h %p

参考资料

https://stackoverflow.com/questions/5103083/ssh-in-git-behind-proxy-on-windows-7

验证码