当我跑步时git clone git://git.gnome.org/tracker
,我得到:
Cloning into tracker...
git.gnome.org[0: 209.132.180.173]: errno=Connection refused
fatal: unable to connect a socket (Connection refused)
当我不在当前所在的网络代理后面时,这种情况不会发生。
答案1
术语注释:防火墙是什么阻止您直接连接到某些站点或端口。这代理人是一个中间服务器,您可以连接到它(但不是所有东西)并且允许访问 Internet。
如果您的代理没有太努力地阻止非网络流量,您也许可以让它中继您的 git 连接。使用类似的程序开瓶器或者连接代理使用CONNECT
尝试通过代理的方法。将类似的内容放入您的~/.git/config
(将proxy.example.com
3128 替换为代理的主机名和端口):
[core]
gitProxy="corkscrew proxy.example.com 3128 git.gnome.org 9418"
许多代理被配置为CONNECT
仅允许端口 443 (https),并且它们可能会检查它们中继的流量是否实际上是 SSL。如果您的情况如此,据我所知,您唯一的选择是使用不同的协议,使用您可以到达的外部中继(例如,在端口 443 上与服务器建立 ssh 隧道),或者让您的网络管理员允许git 流量。
答案2
使用 http 版本的 git.gnome.org repo 并设置 http_proxy 环境变量
http_proxy=http://your.proxy.server:proxy_port
git clone http://git.gnome.org/browse/tracker
您可能还需要将代理添加到 git config
git config --global http.proxy $http_proxy
答案3
看git 配置详细信息,您可以为 HTTP 或 GIT 协议设置代理。