如何让Git使用代理服务器?
我需要从Git服务器签出代码,但它每次都显示“请求超时”。我该怎么解决这个问题呢?
或者如何设置代理服务器?
如何让Git使用代理服务器?
我需要从Git服务器签出代码,但它每次都显示“请求超时”。我该怎么解决这个问题呢?
或者如何设置代理服务器?
当前回答
这对我来说是可行的,在公司防火墙后面的windows XP系统中。
我不需要安装任何本地代理或任何其他软件,除了git v1.771从http://code.google.com/p/msysgit/downloads/list?can=3
$ git config --global http.proxy http://proxyuser:proxypwd@proxy.server.com:8080
$ git config --system http.sslcainfo /bin/curl-ca-bundle.crt
$ git remote add origin https://mygithubuser:mygithubpwd@github.com/repoUser/repoName.git
$ git push origin master
proxyuser=我们IT部门分配给我的代理用户,在我的情况下,它是我用来登录我的PC的同一个windows用户,Active Directory用户
Proxypwd =我的代理用户密码
proxy.server.com:8080 =代理名称和端口,我从控制面板,互联网选项,连接,局域网设置按钮,代理服务器部分内的高级按钮,使用第一行(http)上的服务器名和端口。
mygithubuser =我用来登录github.com的用户
Mygithubpwd =我的github.com用户密码
repoUser = repo的用户所有者
repoName = repo的名称
其他回答
我注意到一些事情,想在这里分享:
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)。
我在公司使用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://
如果你正在使用ubuntu,那么执行以下操作…
步骤1:安装开瓶器
$ sudo apt-get install corkscrew
步骤2:编写名为git-proxy.sh的脚本,并添加以下内容
#!/bin/sh
exec corkscrew <name of proxy server> <port> $*
# <name_of_proxy_server> and <port> are the ip address and port of the server
# e.g. exec corkscrew 192.168.0.1 808 $*
步骤3:使脚本可执行
$ chmod +x git-proxy.sh
步骤4:通过设置环境变量为GIT设置代理命令
$ export GIT_PROXY_COMMAND="/<path>/git-proxy.sh"
现在使用git命令,例如
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
对于git协议(git://…),安装socat并编写如下脚本:
#!/bin/sh
exec socat - socks4:your.company.com:$1:$2
使其可执行,将其放在您的路径和~/中。Gitconfig set core。Gitproxy到该脚本的名称。