奇怪的git代理超时问题
Posted 全速前行
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了奇怪的git代理超时问题相关的知识,希望对你有一定的参考价值。
曾几何时在公司用代理上过网,后来在家里使用git访问csdn code和github就出现代理超时的问题,如下:
$ git clone https://github.com/bumptech/glide.git
fatal: unable to access ‘https://github.com/bumptech/glide.git/‘: Failed to connect to proxy.xxx.com port 8080: Connection timed out
这个错误说明是git设置中有代理项,而在ubuntu中设置git是在~/.gitconfig中完成的,但我不记得我设置过git的代理。
那么是不是使用了系统的代理?
我检查了一下,~/.bashrc中无;gui设置界面中也已经关闭。
为了确认,我用firefox上网,并将其代理设置成使用系统代理。结果我虽然将系统设置的代理关闭,但是firefox仍然无法上网。我果断将系统设置的代理全清空,而此时firefox可以上网。但是这对git clone仍无卵用。
几经挣扎,我决定也不按常理出牌,手动设置gitconfig的代理,将proxy设为空。如下:
$ cat ~/.gitconfig
[user]
name = linc
email = xxx@xxx.com
[core]
autocrlf = input
[color]
ui = auto
[http]
proxy =
果然,起作用!
下面在ubuntu下的代理设置参考:
git 代理:
git config --global http.proxy
查询到当前设置了代理,所以我取消这个设置:
git config --global --unset http.proxy
再查询,已经没有了代理,然后再push,成功了!
ubuntu代理:
1.通过export http代理使用apt-get(临时有效)
在使用apt-get之前,在终端中输入以下命令
export http_proxy=http://proxy_addr:proxy_port
取消代理使用
export http_proxy=""
2.apt.conf文件中配置http代理信息(永久有效)
sudo gedit /etc/apt/apt.conf在您的apt.conf文件中加入下面这行
Acquire::http::Proxy "http://proxy_addr:proxy_port";
保存apt.conf文件即可
3..bashrc文件中配置代理信息(apt-get, wget 等等)(全局有效)
gedit ~/.bashrc 在.bashrc文件末尾添加如下内容
export http_proxy="http://proxy_addr:proxy_port"
保存文件,重新开启终端。
以上是关于奇怪的git代理超时问题的主要内容,如果未能解决你的问题,请参考以下文章