大家好,又见面了,我是你们的朋友全栈君。
如下图所示,当我试图克隆别人的repo时,会发生这样的错误,当我从git:/而不是https://,克隆时,它工作得很好。
发生这种情况是因为代理是在git中配置的。既然它是https代理(而不是http)git config http.proxy和git config –global http.proxy也无济于事。
解决方案一
1、看看你的git配置
git config –global -l
如果你没有任何与https代理相关的内容,例如https_proxy = …问题不在这里。
如果您有与https代理相关的内容,请将其从〜/ .gitconfig文件中删除,然后重试。
2、如果仍然不起作用,请取消设置环境变量
env|grep -i proxy
你应该有一行或几行https_proxy = …
使用以下内容逐个取消设置:取消设置https_proxy(或HTTPS_PROXY,具体取决于变量的名称)
3、再次检查环境变量
env|grep -i proxy
如果它没有显示任何你应该是好的。
注意:此解决方案可以应用于http和https代理问题。只是变量名称从https更改为http。
解决方案二
在开启shadowsocks的前提下,手动配置git的代理。git客户端输入如下两个命令就可以了。
git config –global http.proxy http://127.0.0.1:1080 git config –global https.proxy http://127.0.0.1:1080
http://也可以改成sockets5://,但是区别在于:socks5不支持通过pubkey免密登录github,每次提交代码只能输入用户名和密码。http可以支持免密登录。
取消代理:
git config –global –unset http.proxy git config –global –unset https.proxy
其实方案一和方案二是同一种方法,不过方案二更加具体一点罢了,大部分问题都可以用方案二解决,当方案二无效时,考虑使用方案一。
参考文献:https://stackoverflow.com/questions/24543372/git-cannot-clone-or-push-failed-to-connect-connection-refused
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/162562.html原文链接:https://javaforall.cn