2012-04-26 88 views
32

当我尝试从混帐混帐克隆无法解决代理

git clone "http://github.com/symfony/symfony.git" "d:/www/a/vendor/symfony" 

克隆我得到一个错误

Cloning into 'd:/www/a/vendor/symfony'... 
error: Couldn't resolve proxy '(null)' while accessing http://github.com/symfony/symfony.git/info/refs 
fatal: HTTP request failed 

我直接连接到互联网(无代理)。我试图关闭防火墙并没有帮助。我在windows上,刚刚从http://code.google.com/p/msysgit/downloads/list安装Git-1.7.10-preview20120409.exe。以前我有1.7.8和这个命令的工作。我也重新安装了TortoiseGit,但我认为这并不重要。

C:\Documents and Settings\xxx\.gitconfig文件

[http] 
    proxy = 
[user] 
    name = xxxx 
    email = [email protected] 
+0

该命令为我工作,所以它必须是您的设置的东西。你是否开始使用管理权限的cmd.exe?你有一个代理程序运行或任何类型的软件来匿名你的系统? – p0rter 2012-04-26 13:01:19

+0

我没有任何代理运行,我尝试所有这些与管理权限。我可以使用TortoiseGit推送更改 – koral 2012-04-26 16:44:31

回答

81

看来问题在邮件列表报告。 this有帮助吗?

git config --global --unset http.proxy 
+0

我将我的文件“c:\ Documents and Settings \ xxx \ .gitconfig”添加到问题主体。 – koral 2012-04-26 16:46:24

+1

谢谢你。这帮助我在我的办公室防火墙下。解决了凉亭代理问题 – STEEL 2014-06-10 10:06:40

+0

太棒了!我的工作笔记本电脑VPN进入我的工作网络时遇到了问题,并且遇到了为我节省了大量时间的答案! – jamki 2014-08-16 11:12:35

0

刚删除的Git全局配置文件中的

[http] 
    proxy = 

块。 (GIT版本1.7.10.msysgit.1,Windows XP中)

正电子的回答中提到的命令行命令不起作用:

git config --global --unset http.proxy 

error: unknown switch `â' 
+0

好像你在输入一些错误的开关,它从来没有像我这样对我说过,对任何人也是如此;) – positron 2012-05-25 10:04:14

+0

感谢您的输入,是的,上面的命令行中存在错误的开关。 “--unset”第二个开关是错误的。 – tss 2012-05-28 10:04:36

6

我刚刚得到了同样的问题,在防火墙后面时,推。

的问题是不是空HTTP_PROXY VAR(GIT VAR -l没有表现出任何的代理变量),和我的操作系统环境变量包括:

http_proxy=username:[email protected]:port 
https_proxy=username:[email protected]:port 
no_proxy=.company 

此设置总是会触发:

error: Couldn't resolve proxy '(null)' while accessing https://... 

但是,只要我换了代理变量,在代理服务器地址前面添加一个“http://”,错误消息停止

http_proxy=http://username:[email protected]xy.company:port 
https_proxy=http://username:[email protected]:port 
no_proxy=.company 

(注意是 'http://' 即使对于HTTPS代理地址)

5

只是删除

[http] 
    proxy = 

工作对我来说

+1

哪里可以找到这些线?我正在使用TortoiseGit,并且没有在'.git'目录中找到的配置文件似乎有任何名为'[http]'或'proxy'的配置文件。 – 2015-11-26 15:53:11

0

代理应以 “http” 或开始“ https“

eg

abc.proxy.com:8080 may not work 
http://abc.proxy.com:8080 should work 
0

我在CentOS 6.5上运行git有同样的问题。在Ubuntu上运行相同的命令工作正常。 Git似乎对URL中的冒号有问题。无论如何,解决方案最终必须在URL中明确指定端口,例如:

git clone https://example.edu.au:443/git/master.git 
3

在混帐的bash运行下面的命令

git config --global --unset http.proxy 

注意:不要忘了重新启动的git bash中,否则将无法正常工作。

另外请确保删除HTTPS_PROXY和HTTP_PROXY环境变量。


如果上述步骤没有为你工作,尝试设置你的公司代理,如下图所示;

git config --global http://example.com:8080 
git config --global https://example.com:8080 

**变化example.com/8080与贵公司的代理和端口

3

我有两个工作环境,当我在公司,当我在家里。所以,每一天我都必须设置和取消设置代理变量才能让我的git运行。我发现有效的是创建两个bash文件,一个用于设置代理变量,另一个用于“取消设置”它。所以,无论何时到家或在工作中,我所要做的就是用管理员权限双击这些文件,我就完成了。这些文件是非常简单的:

取消设置,proxy.bat

setx HTTP_PROXY "" 
setx HTTPS_PROXY "" 
setx HTTP_PROXY "" /M 
setx HTTPS_PROXY "" /M 
git config --global --unset http.proxy 
git config --global --unset https.proxy 
sleep 5 

设置proxy.bat

setx HTTP_PROXY <your proxy here> 
setx HTTPS_PROXY <your proxy here> 
setx HTTP_PROXY <your proxy here> /M 
setx HTTPS_PROXY <your proxy here> /M 
git config --global <your proxy here> 
git config --global <your proxy here> 
sleep 5 

sleep 5末仅保留窗口打开几秒钟以验证所有命令是否正确运行。

0

键入以下命令。

  1. git config --global http.proxy example.com:8080

    这里,example.com是代理服务器和8080是端口号。

  2. 看到你已经设置了代理服务器。

  3. 然后,克隆所需的存储库。它会工作。

我在Windows上试过这些。