如何让Git使用代理服务器?

我需要从Git服务器签出代码,但它每次都显示“请求超时”。我该怎么解决这个问题呢?

或者如何设置代理服务器?


当前回答

我注意到一些事情,想在这里分享:

git config --global http.proxy http://<proxy address>:<port number>

上述方法不适用于SSH url(即git@github.com:<用户名>/<项目名>.git):

git clone git@github.com:<user name>/<project name>.git // will not use the http proxy

如果我们将SSH设置为HTTPS端口(https://help.github.com/en/articles/using-ssh-over-the-https-port),事情也不会改变,因为它只改变了SSH连接连接的端口(默认为22)。

其他回答

使用命令:

git config --global http.proxy http://proxyuser:proxypwd@proxy.server.com:8080

将proxyuser更改为代理用户 将proxypwd更改为您的代理密码 将proxy.server.com更改为代理服务器的URL 将8080更改为代理服务器上配置的代理端口

注意,这适用于http和https回购。

如果你决定在任何时候重置这个代理并在没有代理的情况下工作:

使用命令:

git config --global --unset http.proxy

最后,检查当前设置的代理:

git config --global --get http.proxy

我在公司使用Windows XP,所以我做了我的研究,在这里发现了这个,它对我有用。希望这对你有所帮助。

http_proxy环境变量

如果您使用代理服务器或防火墙,您可能需要设置http_proxy环境变量以便从命令行访问一些url。 例如:为perl安装ppm或在linux中应用rpm,更新ubuntu

将http_proxy变量设置为代理服务器的主机名或IP地址: http_proxy = http:// [proxy.example.org]

如果代理服务器需要用户名和密码,请以以下形式填写: http_proxy = http://(用户名:password@proxy.example.org)

如果代理服务器使用的端口号不是80,请填写端口号: http_proxy = http://(用户名:password@proxy.example.org: 8080)

Windows XP

打开控制面板并单击系统图标。 在“高级”选项卡上,单击“环境变量”。 单击“系统变量”面板中的“新建”。 添加带有适当代理信息的http_proxy(参见上面的示例)。

Linux、Solaris或HP-UX

使用特定于shell的命令(例如Set或export)设置http_proxy环境变量。要使此更改持久,请将该命令添加到shell的适当概要文件中。例如,在bash中,在.bash_profile或.bashrc文件中添加如下一行:

http_proxy = http://(用户名:password@hostname:端口); 出口美元http_proxy

尝试将以下内容放到~/。gitconfig文件:

[http]
    proxy = http://proxy:8080
[https]
    proxy = http://proxy:8080
[url "https://"]
    insteadOf = git://

对于windows用户:如果git配置或设置http_proxy=不起作用,这个答案可能会有帮助:

将git存储库的git://协议替换为http://.注意,无论如何,你必须先设置http_proxy。

下面是代理设置

git config --global http.proxy http://<username>:<pass>@<ip>:<port>
git config --global https.proxy http://<username>:<pass>@<ip>:<port>