如何让Git使用代理服务器?
我需要从Git服务器签出代码,但它每次都显示“请求超时”。我该怎么解决这个问题呢?
或者如何设置代理服务器?
如何让Git使用代理服务器?
我需要从Git服务器签出代码,但它每次都显示“请求超时”。我该怎么解决这个问题呢?
或者如何设置代理服务器?
当前回答
如果配置代理服务器的命令行方式不起作用, 你可能只需要编辑.gitconfig(在你的配置文件的根目录中,它可能隐藏在C:\Documents and Settings和一些网络驱动器中)并添加以下内容:
[http]
proxy = http://username:password@proxy.at.your.org:8080
但是,YMMV只包含命令行配置的第一步。你可能也需要编辑系统git配置,我不知道他们把它藏在哪里。
其他回答
在不知疲倦地尝试这个页面上的每个解决方案后,我的工作是使用SSH密钥代替!
打开Git Bash ssh-keygen.exe -t rsa -C 打开你的Git提供商(Github, Bitbucket等) 添加复制id_rsa。pub文件内容到Git提供者的输入页面(检查您的配置文件)
如果配置代理服务器的命令行方式不起作用, 你可能只需要编辑.gitconfig(在你的配置文件的根目录中,它可能隐藏在C:\Documents and Settings和一些网络驱动器中)并添加以下内容:
[http]
proxy = http://username:password@proxy.at.your.org:8080
但是,YMMV只包含命令行配置的第一步。你可能也需要编辑系统git配置,我不知道他们把它藏在哪里。
使用代理的另一种选择是使用SSH 在git配置中,在ssh地址上配置origin remote。然后使用ssh-keygen命令,它会给你一个公钥,你可以在你的GitLab或Gitab帐户设置和登录相应完成…
1-通过在git客户端中运行git remote -v来验证哪些遥控器正在使用。
2-如果这是http(s) url,将其更改为ssh地址,执行:git remote set-url <远程名称,例如origin> <新的ssh url > 例如
git remote set-url git@gitlab.com:example/myproject.git
3 .如果需要生成登录的SSH密钥,执行命令SSH -keygen -o,该命令生成public(id_rsa. key)。Pub文件)和私钥。
4份公钥内容。(从id_rsa。酒吧文件)
5-去gitlab/githup/....配置文件>设置/ssh-key。创建新的SSH密钥并粘贴公钥内容
对于git协议(git://…),安装socat并编写如下脚本:
#!/bin/sh
exec socat - socks4:your.company.com:$1:$2
使其可执行,将其放在您的路径和~/中。Gitconfig set core。Gitproxy到该脚本的名称。
除了这些答案,我发现考虑以下两点很有帮助:
可能需要强制一个身份验证方案:
[http]
# https://github.com/git/git/blob/master/Documentation/config.txt
proxyAuthMethod = anyauth|basic|digest|negotiate|ntlm
此外,通常使用NTLM身份验证模式时,可能需要显式地提供AD域。
在git bash中:
echo %userdomain%
并更新http。相应的代理:
git config --global http.proxy http://DOMAIN\\proxyuser:proxypwd@proxy.server.com:8080
无论如何,添加CURL日志可能有助于调查:
export GIT_CURL_VERBOSE=1