迫于特殊原因,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