git在网络代理下的使用

公司的测试环境不允许直接连外网,所以想从测试机连到外网只能用代理。配置好代理后导出环境变量即可:

export http_proxy=http://10.10.1.2:8080
export https_proxy=http://10.10.1.2:8080

网络可以正常使用,但是我发现,git用不了了,好捉鸡啊,没有了git还干个毛线啊,自己各种上网找方案,折腾了一天都没搞定,最后还是请教了同事,发现自己这个基础啊,实在太差了!

Git 可以使用四种主要的协议来传输数据:本地传输(file),ssh 协议,Git 协议和 HTTPS 协议。

明显的区别就是你clone用的url的前缀是不同的。

本地协议:git clone file:///opt/git/project.git

SSH协议:git clone ssh://user@server/project.git

HTTPS协议:git clone http://example.com/gitproject.git

GIT协议:git clone git@github.com:username/project.git

我们平时用的是一般是github提供的服务,从github网站上看,github提供了git协议和https协议

我们clone的时候一般就是用红圈中的地址,但是这个地址是git协议的,而我的电脑是通过代理登录的只支持http和https,所以当然不能使用git

有人会问,我能不能导出ssh_proxygit_proxy呢?当然,前提是你的代理服务器支持这样做。如果你的代理服务器不支持,而你又没有办法去改,那你可以不用git@开头的url,而是使用https开头的url