当我尝试从 git 克隆时
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 Settingsxxx.gitconfig
文件是
[http]
proxy =
[user]
name = xxxx
email = xxx@example.com
似乎问题已在邮件列表中报告。这有帮助吗?
git config --global --unset http.proxy
在 git 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
在推到防火墙后面时,我遇到了同样的问题。
问题不在于空的 http_proxy var(git var -l 没有显示任何代理变量),我的操作系统环境变量包括:
http_proxy=username:passowrd@proxy.company:port
https_proxy=username:passowrd@proxy.company:port
no_proxy=.company
此设置将始终触发:
error: Couldn't resolve proxy '(null)' while accessing https://...
但是,一旦我更改了代理变量,在代理地址前面添加了"http://
",错误消息就停止了:
http_proxy=http://username:passowrd@proxy.company:port
https_proxy=http://username:passowrd@proxy.company:port
no_proxy=.company
(请注意"http://
",即使对于HTTPS代理地址也是如此)
只需删除
[http]
proxy =
为我工作
我有两种工作环境,当我在公司时和当我在家时。所以,每天我都必须设置和取消设置代理变量才能让我的 git 运行。我发现有效的是创建两个 bash 文件,一个用于设置代理变量,另一个用于"取消设置"它。因此,每当我回到家或上班时,我所要做的就是双击具有管理员权限的文件,我就完成了。这些文件非常简单:
未设置代理.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
设置代理.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
只是使窗口保持打开几秒钟,以验证所有命令是否正确运行。
感谢@VonC的回答。
虽然它对我不起作用,但我用你的答案作为参考来变通。
我配置了以下环境变量来解决云铸造厂开发环境问题之一。突然间,我的 git 克隆发出警报,说无法解析代理。我刚刚删除了这些环境变量,git 克隆运行良好。
http_proxy=proxy.company:port
https_proxy=proxy.company:port
希望有帮助。
只需删除
[http]
proxy =
块在 Git 全局配置文件中。(git version 1.7.10.msysgit.1 , windows XP)
正电子答案中提到的命令行命令不起作用:
git config --global --unset http.proxy
error: unknown switch `â'
键入以下命令。
-
git config --global http.proxy example.com:8080
在这里,
example.com
是代理服务器,8080
是端口号。 -
查看您已设置代理服务器。
-
然后,克隆所需的存储库。它会起作用。
我在Windows中尝试了这些。
首先尝试重置 Github 代理。有时可能是代理服务器有问题。
git config --global --unset http.proxy
然后重新启动终端并再次尝试克隆存储库。
如果仍然收到错误,则必须尝试使用以下命令设置代理。
git config --global http.proxy http://proxyUsername:proxyPassword@proxy.server.com:port
代理应以"http"或"https"开头
例如
abc.proxy.com:8080 may not work
http://abc.proxy.com:8080 should work
我在 CentOS 6.5 上运行 git 时遇到了同样的问题。 在 Ubuntu 上运行相同的命令工作正常。 Git 似乎对 url 中的冒号有问题。无论如何,解决方案最终是我必须在 url 中显式指定端口,例如:
git clone https://example.edu.au:443/git/master.git
此错误是因为您使用的代理。即使您将代理设置添加到您的 PC 也会有一些错误。因为系统设置的改变对GIT来说是不够的。所以你应该为代理配置 git。
git config --global http.proxy http://proxyUsername:proxyPassword@proxy.server.com:port
这里 proxyUsername 是您使用的用户名,proxyPassword 是它的密码。 proxy.server.com 表示代理服务器名称,端口是用于代理的端口。如果您使用特定域,请使用此代码:
git config --global http.https://domain.com.proxy http://proxyUsername:proxyPassword@proxy.server.com:port
当你在 Ubuntu 上使用此命令时,使用 'sudo' 在乞求 'git clone' 时获得管理权限
ex-: sudo git clone "http://github.com/symfony/symfony.git" "d:/www/a/vendor/symfony"
为了激活/停用 git 的代理,我在 ~/.bashrc 中使用了两个 shell 函数:
proxy_set() {
export http_proxy=http://PROXYADDR:PORT/
export https_proxy=https://PROXYADDR:PORT/
export socks_proxy=socks://PROXYADDR:PORT;
sed -i '/proxy =/s/^#//g' ~/.gitconfig
}
proxy_unset() {
unset http_proxy; unset https_proxy; unset socks_proxy;
sed -i '/proxy =/s/^#*/#/g' ~/.gitconfig
}
这些将分别取消注释/注释 ~/.gitconfig 中的 [http] 和 [https] 代理条目。只需输入终端,proxy_set或proxy_unset