46

当我尝试从 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 Settings\xxx\.gitconfig文件是

[http]
    proxy = 
[user]
    name = xxxx
    email = xxx@example.com
4

14 回答 14

125

似乎问题已在邮件列表中报告。有帮助吗?

git config --global --unset http.proxy
于 2012-04-26T13:09:33.173 回答
7

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

问题不是空的 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 代理地址)

于 2012-05-29T14:34:06.357 回答
7

在 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

于 2016-06-26T07:42:43.960 回答
5

只需删除

 [http]
     proxy =

为我工作

于 2012-05-30T20:50:03.663 回答
5

我有两种工作环境,在公司和在家的时候。所以,每一天我都必须设置和取消设置代理变量才能让我的 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只是让窗口保持打开几秒钟以验证所有命令是否正确运行。

于 2017-02-23T07:29:17.060 回答
3

感谢@VonC 的回答。

虽然它对我有用,但我用你的答案作为参考来解决我的问题。

我已经配置了以下环境变量来解决其中一个 Cloud Foundry 开发环境问题。突然间,我的 git clone 发出警报,说无法解析代理。我刚刚删除了这些环境变量并且 git clone 运行良好。

http_proxy=proxy.company:port
https_proxy=proxy.company:port

希望有帮助。

于 2018-10-05T06:02:58.860 回答
2

只需删除

 [http]
     proxy = 

块在 Git 全局配置文件中。(git 版本 1.7.10.msysgit.1 , windows XP)

positron 的答案中提到的命令行命令不起作用:

 git config --global --unset http.proxy

 error: unknown switch `â'
于 2012-05-25T02:29:22.153 回答
1

键入以下命令。

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

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

  2. 确保您已设置代理服务器。

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

我在 Windows 中试过这些。

于 2017-03-28T07:04:50.977 回答
0

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

例如

abc.proxy.com:8080 may not work
http://abc.proxy.com:8080 should work
于 2014-11-19T03:19:43.617 回答
0

我在 CentOS 6.5 上运行 git 时遇到了同样的问题。在 Ubuntu 上运行相同的命令效果很好。Git似乎对url中的冒号有问题。无论如何,解决方案最终是我必须在 url 中明确指定端口,例如:

git clone https://example.edu.au:443/git/master.git
于 2016-02-04T23:19:31.610 回答
0

出现此错误是因为您使用了代理。即使您将代理设置添加到您的 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
于 2019-10-08T09:35:13.977 回答
0

当您在 Ubuntu 上使用此命令时,请使用 'sudo' 在请求 'git clone' 时获得管理权限

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

于 2020-10-27T04:05:57.167 回答
0

首先尝试重置 Github 代理。有时它可能是代理服务器的问题。

git config --global --unset http.proxy

然后重新启动终端并再次尝试克隆存储库。

如果仍然出现错误,则必须尝试使用​​以下命令设置代理。

git config --global http.proxy http://proxyUsername:proxyPassword@proxy.server.com:port
于 2021-11-20T15:01:20.733 回答
0

为了激活/停用 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 即可。

于 2022-03-04T12:45:29.080 回答