我在代理人后面。要让git
正常工作,我必须添加
proxy = http://username:password@proxy.at.your.org:8080
到.gitconfig
。
由于username
和password
是我的系统凭据,因此该解决方案很糟糕,因为我必须将这些存储为cleartext
。
我正在使用Google Chrome
我不需要设置任何代理设置,因为它使用系统代理设置。
如何使用git
?
答案 0 :(得分:5)
2016年2月更新:
使用git 2.8(2016年3月),您无需在网址中以明文形式嵌入密码。
commit 372370f见commit ef97639,Knut Franke (``)(2016年1月26日)
帮助:Junio C Hamano (gitster
),Eric Sunshine (sunshinebell28
)和Elia Pinto (devzero2000
)
(Junio C Hamano -- gitster
--于2016年2月3日commit 30f302f合并)
http
:使用凭证API处理代理身份验证目前,将代理凭据传递给curl的唯一方法是将它们包含在代理URL中。通常,这意味着它们将以某种方式(通过包含在
~/.gitconfig
,shell配置文件或历史记录中)以未加密的方式结束到磁盘上。
由于代理身份验证通常使用域用户,因此凭据可能对安全性敏感;因此,需要一种更安全的通过证书的方式。如果配置的代理包含用户名但不包含密码,请查询 一个凭证API。另外,请确保我们批准/拒绝代理凭据 正常。 所以:
除了curl理解的语法之外,还可以指定一个具有用户名但没有密码的代理字符串,在这种情况下,git将尝试以与它相同的方式获取一个其他凭证。
有关详细信息,请参阅gitcredentials 因此语法是:
[protocol://][user[:password]@]proxyhost[:port]
这可以在每个远程基础上覆盖;见
remote.<name>.proxy
。
2015年10月更新
Since git 1.8.0和commit 7bcb747,默认的Windows凭据帮助程序是wincred
,它是与Windows的凭据管理器连接的git凭据帮助程序。
git config --global credential.helper wincred
原始答案(2013年3月):
您可以在Windows上使用credential helper (git1.7.9+) git-credential-winstore,以便存储您的凭据
您将使用“git config --global credential.helper winstore
”声明它
然后,您可以在不输入用户名和密码的情况下声明代理:
git config --global http.proxy http://proxy.server.com:8080
(虽然我更喜欢using environment variables http_proxy
and https_proxy
)
另请参阅“git: 'credential-cache
' is not a git command”