全局设置代理
1 2
| git config --global http.proxy 'socks5://127.0.0.1:1080' git config --global https.proxy 'socks5://127.0.0.1:1080'
|
取消全局代理
1 2
| git config --global --unset http.proxy git config --global --unset https.proxy
|
指定域名使用代理
1 2 3 4 5
| git config --global http.https://github.com.proxy socks5://127.0.0.1:1080
git config --global --unset http.https://github.com.proxy
|
在 .git/config 配置文件中设置代理
在 .git/config
文件中添加配置:
1 2
| [https] proxy = socks5://127.0.0.1:1080
|
ssh 代理连接(使用 ssh 访问 git 的解决方案)
前面设置的都是 https
代理, GitHub
都要求通过 ssh key 来提交,我们可以在 ~/.ssh/config
配置文件中设置使用代理连接 ssh
。
1 2 3 4 5 6 7 8 9 10
| Host github.com HostName github.com User git IdentityFile C:\Users\cmpan\.ssh\github ProxyCommand "C:\Program Files\Git\mingw64\bin\connect" -S 127.0.0.1:1080 -a none %h %p ``````
```sh
ProxyCommand nc -v -x 127.0.0.1:1080 %h %p
|
终极方案
如果你有一台外网的 Linux 服务器,你可以用该服务器作为代理。
1 2 3 4 5 6 7 8 9 10 11 12 13
| Host pxy HostName IP地址 Port 22 User pxy IdentityFile ~/.ssh/pxy
Host github.com HostName github.com User git IdentityFile ~/.ssh/github_auth ProxyCommand ssh pxy -W %h:%p
|