Git支持的协议
- https协议,
https://
协议需要配置git
的http.proxy
参数
- ssh协议,
ssh://
协议需要配置ssh
的ProxyCommand
参数
针对HTTPS协议配置代理
通过命令方式
- 针对所有git服务器设置代理(这里演示使用socks5端口)
1
2
|
$ git config --global http.proxy=socks5://127.0.0.1:1086
$ git config --global https.proxy=socks5://127.0.0.1:1086
|
- 只针对github.com设置代理(这里演示使用http端口)
1
|
$ git config --global http.https://github.com.proxy http://127.0.0.1:1087
|
1
|
$ git config --global http.proxy http://<proxyuser>:<proxypwd>@<proxy.server.com>:<proxy.server.port>
|
通过编辑git配置文件的方式
1
2
3
4
5
6
|
$ vim ~/.gitconfig
[http]
proxy = socks5://127.0.0.1:1086
[https]
proxy = socks5://127.0.0.1:1086
|
针对ssh协议配置代理
- 安装connect,connect是一个工具,用户代理的转换。
macOS安装方式:
ProxyCommand
命令设置
1
2
3
4
5
6
7
8
9
|
$ vim ~/.ssh/config
Host github.com .github.com
ProxyCommand connect -H 127.0.0.1:1087 %h %p #设置http代理
HostName %h
Port 22
User git
IdentityFile ~/.ssh/id_rsa # 这里是私钥,不要放成公钥啦
IdentitiesOnly yes
|
- 测试
1
2
3
|
$ ssh -T git@github.com
Hi username! You ve successfully authenticated, but GitHub does not provide shell access.
|
tips📌
取消代理
1
2
|
$ git config --global --unset http.proxy
$ git config --global --unset https.proxy
|
查看当前代理
1
2
|
$ git config --global --get http.proxy
$ git config --global --get https.proxy
|
查看所有git全局配置
1
|
$ git config --global -l
|
巨人的肩膀
https://www.hi-linux.com/posts/11850.html