奇怪的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代理超时问题的主要内容,如果未能解决你的问题,请参考以下文章

通过 https 代理使用时 git clone 超时

软件安装git push/pull 超时问题解决

软件安装git push/pull 超时问题解决

软件安装git push/pull 超时问题解决

Android片段底部的奇怪空白?

使用 LibGit2Sharp 克隆 Git 存储库时出现超时错误