fatal: unable to access ‘https://github.com/xxxx/’: Failed to connect to x.x.x.x port xxxxx: Connection refused|git clone问题(完美解决)
问题描述
执行以下命令克隆目标源码到本地时,会出现错误。
git clone https://github.com/RoboCup-SSL/technical-challenge-rules.git
错误:Cloning into 'technical-challenge-rules'... fatal: unable to access 'https://github.com/RoboCup-SSL/technical-challenge-rules.git/': Failed to connect to x.x.x.x port xxxx: Connection refused
按照wpyily|CSDN的方法,把克隆地址头缀由https://改为git@,可以克隆成功。但是每次都要注意这点,非常麻烦。所以,找到问题的根本原因,并找到了解决方法。下节介绍解决的方法。
解决方法
首先感谢前人的经验(tsq292978891|CSDN,以及无极天宗|新浪博客)。
tsq292978891|CSDN在它的博客中指出了问题的根本原因:原因是x.x.x.x port xxxxx被当作代理占用了,需要重启!!!
1.首先输入命令查看代理设置情况
env|grep -i proxy
NO_PROXY=localhost,127.0.0.0/8,::1
http_proxy=http://127.0.0.1:46759/
https_proxy=http://127.0.0.1:46759/
HTTPS_PROXY=http://127.0.0.1:46759/
no_proxy=localhost,127.0.0.0/8,::1
HTTP_PROXY=http://127.0.0.1:46759/
这个结果因人而异,其中代理的端口号与错误中显示的IP地址以及端口号一样,则说明是被该代理占用,需要unset所有与错误中提示的端口号相关的代理。
2.按文中的情况应依次执行以下四条命令,取消占用的代理
unset http_proxy
unset https_proxy
unset HTTPS_PROXY
unset HTTP_PROXY
3.然后就可以愉快的git clone https://啦
4.然后 然后…,我发现每次启动新的窗口,又git clone 不了,发现在新的端口下代理又出现了,并且占用了那个端口。我找不出代理是从哪里设置的,不敢瞎整。此处有一个次优的方案,就是把取消代理的的命令放入.bashrc文件中,这样每次开启新窗口,就会自动清除代理,不影响git clone,也不影响科学上网。
找开.bashrc文件
gedit ~/.bashrc
在未尾添加红框中的一行
核心: 例如把http://192.168.1.79:8000/。。。改为 $ git clone git@192.168.1.79:8000/。。。。