git命令的代理配置
git命令的代理配置
git命令访问github资源用了两种不同的协议http和ssh,两种协议对应的配置方式不相同
http代理配置
对于只读仓库,只下载来说,用http方式配置即可,一般代理都能实现
1. 从系统方向解决
设置系统的全局代理,然后执行git命令即可
shell
1 | export all_proxy="http://ip:port" |
2. 从git仓库配置方向解决
shell
1 | git config --global http.proxy "http://ip:port" |
上述两种方法配置好后,git pull要注意协议必须时http,上述配置才有用
shell
1 | git pull https://github.com/xxx/xxx.git |
ssh代理配置
1. 从系统方向解决
设置系统的全局代理,然后执行git命令即可
shell
1 | vim ~/.ssh/config # edit this file |
2. 从git仓库配置方向解决
shell
1 | export GIT_SSH_COMMAND='ssh -o ProxyCommand="nc -x 127.0.0.1:7890 %h %p"' |
上述两种方法配置好后,clone,pull,push命令都可以正常使用
shell
1 | git pull https://github.com/xxx/xxx.git |
FAQ
nc invalid option
nc版本各不相同,使用方法差距也有些大,使用前需要查一下,保持对应参数执行意思一致
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.