如何在代理后使用git

如何在代理后使用git,git,proxy,Git,Proxy,我在代理后面使用msysgit。正如我刚才所说 我已将系统变量http\u proxy设置为一个值。稍后我会打电话给你 git config --global http.proxy $http_proxy 但是,如果我称之为: git clone git://git.savannah.gnu.org/gnuprologjava.git 它给出了以下错误: git.savannah.gnu.org[0; 140.186.70.72]: errno=No error fatal: unable

我在代理后面使用msysgit。正如我刚才所说

我已将系统变量
http\u proxy
设置为一个值。稍后我会打电话给你

git config --global http.proxy $http_proxy
但是,如果我称之为:

git clone git://git.savannah.gnu.org/gnuprologjava.git
它给出了以下错误:

git.savannah.gnu.org[0; 140.186.70.72]: errno=No error
fatal: unable to connect a socket (No error)

如果您使用的是http代理,那么应该使用http git URL。Savannah.gnu.org上的页面告诉您正确的语法。对于该回购协议:

git clone http://git.savannah.gnu.org/r/gnuprologjava.git

当您使用linux时,请参阅

在windows上,我用这种方式解决了它

安装并选择socat软件包。创建一个脚本gitproxy.cmd并将其保存在路径中(我使用了C:\msysgit\cmd\gitproxy.cmd):

(用您自己的代理ip/端口替换192.168.100.1和3128)

执行以下行以配置代理:

git config --global core.gitproxy gitproxy.cmd
请注意,代理服务器必须接受git端口的CONNECT命令(9418)。为了实现这一点,我在squid配置中添加了以下几行代码:

acl SSL_ports port 9418         # git
acl Safe_ports port 9418        # git

(即以与代理服务器中的端口443相同的方式配置端口9418)

许多人都回答了这一问题,但这仅适用于使用auth代理的Windows用户

重新安装(首次安装失败,请勿删除)

如果用户/通行证中有任何特殊字符,请使用

备选案文2: 设置环境变量


HTTP_PROXY=

FYI,如果您是从具有HTTP-git地址的git服务器克隆,我可以使用cygwin的git,只需将
HTTP_PROXY
shell变量设置到我的代理服务器,然后执行
git克隆http://github.com/blah/blah.git
。您可以通过cygwin的setup.exe安装
wget
并执行
wget www.google.com
来测试
http\u代理是否通过您的代理工作。如果
http\u proxy
设置正确,则该命令将下载一个文件。不幸的是,某些构建脚本(如Mono)中嵌入了git://url(或者从https://Note: 通过HTTP,无法通过SSH密钥进行授权。:-(这仅适用于我的公司代理环境,该环境阻止通过端口22访问外部IP:
acl SSL_ports port 9418         # git
acl Safe_ports port 9418        # git
Go to: 
1. msysgit\installer-tmp\etc\gitconfig
    Under [http]
        proxy = http://user:pass@url:port
2. msysgit\installer-tmp\setup-msysgit.sh
      export HTTP_PROXY="http://USER:PASS@proxy.abc.com:8080"