IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]奇怪的git代理超时问题

    lincyang发表于 2016-02-14 13:58:03
    love 0

    曾几何时在公司用代理上过网,后来在家里使用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"
        保存文件,重新开启终端。


沪ICP备19023445号-2号
友情链接