背后的代理工作的git(Working with git behind proxy)

2019-07-21 06:09发布

我是在一个代理。 为了让git工作,我将不得不增加

proxy = http://username:password@proxy.at.your.org:8080

.gitconfig

由于usernamepassword是我的系统凭据该解决方案吮吸,因为我必须将这些存储为cleartext

我使用Google Chrome在哪里,因为它使用的系统代理设置不需要安装任何代理设置。

如何做到这一点与git

Answer 1:

更新2016 2月:

使用Git 2.8(2016年3月),你不必以明文密码的URL嵌入。

见提交372370f , 提交ef97639通过(2016年1月26日) 克努特弗兰卡(``) 。
帮助按: JUNIOÇ滨野( gitster ) , 埃里克阳光( sunshinebell28 ) ,和埃利亚托( devzero2000 ) 。
(通过合并JUNIOÇ滨野- gitster -在提交30f302f ,2016年2月3日)

http :使用证书API来处理代理身份验证

目前,通过代理证书卷曲的唯一途径是通过包括他们在代理URL。 通常情况下,这意味着他们将结束在磁盘加密,这种或那种方式(通过包含在~/.gitconfig ,壳轮廓或历史)。
由于代理认证经常使用的域用户,凭证可安全敏感; 因此,传递凭证的更安全的方式是理想的。

如果配置的代理包含一个用户名,但没有密码,查询凭证API的一个。 此外,还要确保我们批准/拒绝正确代理凭据。 所以:

除了由卷曲理解语法,可以指定一个用户名,但没有密码 ,在这种情况下,git会试图获取一个以它为其他凭证以同样的方式代理字符串
见gitcredentials以获取更多信息。
因此,该语法是:

[protocol://][user[:password]@]proxyhost[:port]

这可以在每个远程的基础上被重写; 看到remote.<name>.proxy


更新2015年10月

由于git的1.8.0 ,并提交7bcb747 ,默认的Windows凭据帮手是wincred ,一个Git凭证帮手界面与Windows的凭据管理器。

 git config --global credential.helper wincred

原来的答案(2013年3月):

您可以使用证书助手(git1.7.9 +)喜欢的git-凭据winstore在Windows上,以便存储您的凭据。
你会用“声明它git config --global credential.helper winstore ”。
然后,您可以声明代理不把你的用户名和密码:

git config --global http.proxy http://proxy.server.com:8080

(虽然我更喜欢使用环境变量http_proxyhttps_proxy

又见“ 混帐:‘ credential-cache ’不是一个git命令 ”




文章来源: Working with git behind proxy