繁体   English   中英

使用代理后面的git

[英]Working with git behind proxy

我在代理人后面。 为了让git工作,我必须添加

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

.gitconfig

由于usernamepassword是我的系统凭证,这个解决方案很糟糕,因为我必须将它们存储为cleartext

我正在使用Google Chrome ,因为它使用系统代理设置,因此我无需设置任何代理设置。

git怎么做?

2016年2月更新:

使用git 2。8(2016年3月),您无需在网址中以明文形式嵌入密码。

请参阅Knut Franke的 提交372370f提交ef97639 (2016年1月26日) (``)
帮助: Junio C gitstergitsterEric Sunshine( sunshinebell28Elia Pinto( devzero2000
(由Junio C gitster合并- gitster - in commit 30f302f ,2016年2月3日)

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

目前,将代理凭据传递给curl的唯一方法是将它们包含在代理URL中。 通常,这意味着它们将以未加密的方式结束在磁盘上(通过包含在~/.gitconfig ,shell配置文件或历史记录中)。
由于代理身份验证通常使用域用户,因此凭据可能对安全性敏感; 因此,需要一种更安全的通过凭证的方式。

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

除了curl理解的语法之外,还可以指定具有用户名但没有密码代理字符串 ,在这种情况下,git将尝试以与其他凭据相同的方式获取一个代理字符串
有关更多信息,请参阅gitcredentials
语法因此是:

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

这可以在每个远程基础上被覆盖; remote.<name>.proxy


2015年10月更新

从git 1.8.0commit 7bcb747开始 ,默认的Windows凭据帮助程序是wincred ,它是一个与Windows的Credential Manager连接的git凭证帮助程序。

 git config --global credential.helper wincred

原始答案(2013年3月):

您可以在Windows上使用git-credential-winstore凭据帮助程序(git1.7.9 +)来存储凭据。
您将使用' git config --global credential.helper winstore '声明它。
然后,您可以在不输入用户名和密码的情况下声明代理:

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

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

另请参阅“ git:' credential-cache '不是git命令


暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM