我想知道git push
是如何运作的。我在代理后面,甚至在我的PhpStorm软件中配置它也不起作用。
所以,我想知道它是如何通过网络发送的,我想使用端口80用于HTTP,443用于HTTPS。
我在SO上阅读了一堆线程,但无法弄清楚那里有什么问题。 我猜“我的”代理没有按照此处的说明启用 WebDAV :Can't push to github through proxy
但我想知道是否还有其他任何问题可以解决问题,知道所有端口都已关闭,除了80,22和443。
git remote -vv
origin https://Vadorequest@bitbucket.org/Vadorequest/vadorequest.git (fetch)
origin https://Vadorequest@bitbucket.org/Vadorequest/vadorequest.git (push)
git config --global http.proxy http://user:password@host:port
git config --global --unset-all http.proxy
git config --global https.proxy https://user:password@host:port
git config --global --unset-all https.proxy
请注意,如果您使用的是Windows并使用 TortoiseGit ,则可以从软件本身设置代理设置。 (网络标签)
如果您正在使用 Cygwin ,请注意,如果您设置全局配置,则仅为当前环境设置。 (使用cmd.exe将其设置为Windows,但使用cygwin控制台将仅为cygwin设置它)
因此,如果您通过IDE(PhpStorm,WebStorm)使用Git,请确保在IDE使用的环境中设置配置,否则它将无效。
还要注意,如果您在git设置中设置了代理,并且您不在代理之后,那么它也不会起作用。 (即:您已将其设置为正常工作且工作正常,但是当您在家中使用它时,它在以前工作时不再起作用)
答案 0 :(得分:9)
如果您的代理允许在没有用户和密码的情况下进行访问,则可以使用:
git config --global https.proxy https://proxy.company.com:8888
如果您的代理需要用户&密码然后:
git config --global https.proxy https://user:password@proxy.company.com:8888
请务必将8888
替换为您的真实代理端口
请务必将proxy.company.com
替换为您的真实代理服务器名称或IP地址。
告诉我这是否有帮助。
答案 1 :(得分:2)
如果您在ntlm代理后面需要指定域名,用户名和密码,我建议使用cntlm。您只需要使用代理凭据配置cntlm,然后在git config命令中使用localhost:3128。
答案 2 :(得分:1)
为避免每次对不同的存储库使用以下命令:
git config --global https.proxy https://proxy.company.com:8888
将环境变量设置如下,并进行冷却:
export https_proxy=https://username:password@proxy_ip:port