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

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

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


当前回答

对于git协议(git://…),安装socat并编写如下脚本:

#!/bin/sh

exec socat - socks4:your.company.com:$1:$2

使其可执行,将其放在您的路径和~/中。Gitconfig set core。Gitproxy到该脚本的名称。

其他回答

使用代理的另一种选择是使用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 config --global http.proxy http://username@proxy.example.com:PortNumber 

请不要在命令中输入密码。当你尝试连接到任何git repo时,它会动态地询问。

因为在windows中有多个.gitconfig文件而面临同样的问题,遵循以下步骤来修复相同的问题:

步骤1:打开Git BASH

步骤2:查找.gitconfig,执行以下命令:

git config --list --global --show-origin

步骤3:在.gitconfig中复制以下内容:

[http]
    proxy = http://YOUR_PROXY_USERNAME:YOUR_PROXY_PASSWORD@YOUR.PROXY.SERVER:YOUR.PROXY.SERVER.PORT
    sslverify = false
[https]
    proxy = http://YOUR_PROXY_USERNAME:YOUR_PROXY_PASSWORD@YOUR.PROXY.SERVER:YOUR.PROXY.SERVER.PORT
    sslverify = false
[url "http://github.com/"]
    insteadOf = git://github.com/

[user]
    name = Arpit Aggarwal
    email = aggarwalarpit.89@gmail.com

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

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