如何让 Git 使用代理服务器?
我需要从Git服务器上签出代码,但每次都显示"Request timed out"。我该如何解决这个问题呢?
或者,如何设置一个代理服务器?
这对我来说是有效的,在企业防火墙后面的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部门分配给我的代理用户,在我的情况下,它是我用来登录我的电脑的同一个windows用户,活动目录用户。
proxywd= 我的代理用户的密码
proxy.server.com:8080=代理名称和端口,我从控制面板、Internet选项、连接、网络设置按钮、代理服务器部分的高级按钮中得到的,使用第一行(http)上的服务器名称和端口。
mygithubuser = 我用来登录github.com的用户
mygithubpwd = 我的github.com用户的密码
repoUser = repo的用户所有者
repoName = repo的名称
设置一个名为http_proxy
的系统变量,其值为ProxyServer:Port
。
这是最简单的解决方案。尊敬的是,正如daefu在评论中指出的那样,使用https_proxy
。
设置gitproxy(如sleske提到的)是另一个选择,但这需要一个"命令",它不像上面的解决方案那样直接。
参考资料。 http://bardofschool.blogspot.com/2008/11/use-git-behind-proxy.html
如果配置代理服务器的命令行方式不起作用。 你可能只需编辑.gitconfig(在你的配置文件的根部,可能隐藏在C:\Documents and Settings和一些网络驱动器上)并添加这个。
[http]
proxy = http://username:[email protected]:8080
不过,这只涵盖了命令行配置的第一步。你可能还得编辑系统的git配置,我不知道他们把这个藏在哪里。