我已经让msysGit(Windows上的Git)在我的家用机器上工作得很好,但是在工作中,我们在Microsoft伊萨代理后面,当我做Git克隆时,我得到以下错误:
H:
cd \
git clone git://github.com/akitaonrails/vimfiles.git
字符串
输出量:
Initialized empty Git repository in H:/vimfiles/.git/
github.com[0: 65.74.177.129]: errno=Invalid argument
fatal: unable to connect a socket (Invalid argument)
型
我尝试将 http_proxy 环境变量设置为:
http://our-proxy-server:8088
型
我已经设置了Git http.proxy 配置指令:
git config --global http.proxy http://our-proxy-server:8088
型
以上两点都没有区别。
使用http://
而不是git://
执行Git克隆会产生以下结果:
H:
cd \
git clone http://github.com/akitaonrails/vimfiles.git
型
输出量:
Initialized empty Git repository in H:/vimfiles/.git/
fatal: http://github.com/akitaonrails/vimfiles.git/info/refs download error - The requested URL returned error: 407
型
407是一个验证错误。
有没有一种方法可以让Git在一个代理(特别是伊萨代理)后面工作?我不知道这是否值得追求。
7条答案
按热度按时间ctehm74n1#
我有完全相同的错误;但
~/.gitconfig
global config file是关键。如果你有一个带身份验证的代理,你需要在里面放:
字符串
而且它只是工作(与'
git clone http:
')详细介绍相同设置的博客示例:GIT clone over HTTP: who knew?
如果在407中仍然失败,则可能与git-fetch losing authentication tokens on the second HTTP GET的问题有关。可能需要more recent version of libcurl。
2011年1月更新:jbustamovej在他的回答中提到了他的博客文章“GitHub Behind Corporate Proxy”,其中补充说:
需要注意的是,如果您的登录名有一个反斜杠,如
domain\login
,您必须转义反斜杠,如:型
voase2hg2#
即使在配置代理之后,您也可能无法连接,因为代理不允许Git协议流量。在这种情况下,您可能需要尝试使用“http”而不是“git”。
H:>git clone http://github.com/akitaonrails/vimfiles.git
此外,如果您使用的是自动代理配置文件(.pac),只需在文本编辑器中打开它。这是一种很容易遵循的脚本语言,有一堆条件重定向到最有效的代理。找到一个允许通用流量的代理(通常是最后配置的代理),并按照上面的评论中提到的那样配置它。
xv8emn3q3#
你有SOCKS代理吗?如果有,你可以尝试FreeCap来socksify你的Git连接。我已经用Git一段时间了。
如果没有,仍然尝试FreeCap.IIRC它可能能够使用HTTP代理,但我还没有尝试过。
我通常使用FreeCap对cmd.exe进行socksify,从那时起(几乎)我从该会话启动的所有线程程序也都进行了socksify。这就是为什么我推荐Free Cap,因为SocksCap(另一种选择)不能以这种方式工作。
至于使用 * http.proxy *,由于某种原因,它从来没有为我工作的MinGW版本和我公司的HTTP代理。
kninwzqo4#
我已经通过一个非常复杂的路线成功地让它工作起来。下面是如何做到的:
1.我在家里的机器(Vista机器)上运行OpenSSH running under Cygwin
1.我使用Bitvise Tunnelier的动态隧道通过集成SOCKS/HTTP代理。
1.然后使用Freecap(感谢Marko)到“SOCKify”GIT-GUI。不幸的是,你必须单独设置每个.exe并在Freecap中运行它们,所以你不能通用地SOCKify所有的git命令行工具。你可以在Freecap中设置显式的命令行命令,但你必须单独设置每个命令,这就是为什么我刚刚在这个疯狂的复杂系统中设置了GIT-GUI
令人惊讶的是,它似乎工作,虽然我还没有测试一切。它会克隆,当然,这是一个开始。
如果有人有更好的解决办法,我洗耳恭听。
4smxwvx55#
以下是对我有效的方法:
字符串
zyfwsgd66#
Python 2.7和ntlmaps在GitHub上收到407错误和其他垃圾后为我工作。
文件 .gitconfig:
字符串
lh80um4z7#
我在Windows 7上遇到了这个问题:
字符串
输出量:
型
我终于意识到这是AVG AntiVirus软件在运行。我禁用了AVG内的“常驻屏蔽”,它的工作就像一个魅力。
型
输出量:
型