我是在一个代理。 为了让git
工作,我将不得不增加
proxy = http://username:password@proxy.at.your.org:8080
到.gitconfig
。
由于username
和password
是我的系统凭据该解决方案吮吸,因为我必须将这些存储为cleartext
。
我使用Google Chrome
在哪里,因为它使用的系统代理设置不需要安装任何代理设置。
如何做到这一点与git
?
我是在一个代理。 为了让git
工作,我将不得不增加
proxy = http://username:password@proxy.at.your.org:8080
到.gitconfig
。
由于username
和password
是我的系统凭据该解决方案吮吸,因为我必须将这些存储为cleartext
。
我使用Google Chrome
在哪里,因为它使用的系统代理设置不需要安装任何代理设置。
如何做到这一点与git
?
更新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_proxy
和https_proxy
)
又见“ 混帐:‘ credential-cache
’不是一个git命令 ”