协慌网

登录 贡献 社区

让 git 与代理服务器一起工作

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

我需要从 git 服务器检出代码,每次都显示 “Request timed out”。我该如何解决这个问题?

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

答案

要使用的命令:

git config --global http.proxy http://proxyuser:[email protected]:8080
  • proxyuser更改为您的代理用户
  • proxypwd更改为您的代理密码
  • proxy.server.com更改为您的代理服务器的 URL
  • 8080更改为代理服务器上配置的代理端口

如果您决定随时重置此代理并在没有代理的情况下工作:

要使用的命令:

git config --global --unset http.proxy

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

git config --global --get http.proxy

这对我来说很有用,在公司防火墙后面的 Windows XP 中。

我没有必要从http://code.google.com/p/msysgit/downloads/list?can=3安装除 git v1.771 之外的任何本地代理或任何其他软件

$ git config --global http.proxy http://proxyuser:[email protected]:8080
$ git config --system http.sslcainfo /bin/curl-ca-bundle.crt
$ git remote add origin https://mygithubuser:[email protected]/repoUser/repoName.git
$ git push origin master

proxyuser = 我的 IT 部门分配的代理用户,在我的情况下,它是我用来登录我的 PC 的同一个 Windows 用户,即 Active Directory 用户

proxypwd = 我的代理用户的密码

proxy.server.com:8080 = 代理名称和端口,我从控制面板,Internet 选项,连接,Lan 设置按钮,代理服务器部分内的高级按钮获取它,使用第一行(http)行上的服务器名称和端口。

mygithubuser = 我用来登录github.com的用户

mygithubpwd = 我的 github.com 用户的密码

repoUser = 回购的用户所有者

repoName = 回购的名称

使用ProxyServer:Port的值设置名为http_proxy的系统变量。这是最简单的解决方案。分别使用https_proxy作为评论中指出的 daefu。

设置 gitproxy(作为 sleske 提及)是另一种选择,但这需要一个 “命令”,这不像上面的解决方案那么简单。

参考文献: http//bardofschool.blogspot.com/2008/11/use-git-behind-proxy.html