proxy = http://username:password@proxy.at.your.org:8080
到.gitconfig
。
由于username
和password
是我的系统凭据,这个解决scheme很糟糕,因为我将不得不将这些存储为cleartext
。
我使用Google Chrome
,因为它使用系统代理设置,所以我不需要设置任何代理设置。
如何用git
做到这一点?
2016年2月更新:
使用git 2.8(2016年3月),您不必在URL中输入明文密码。
见Knut Franke(“)的 提交372370f , 提交ef97639 (2016年1月26日) 。
帮助: Junio C gitster
( gitster
) , Eric Sunshine( sunshinebell28
)和Elia Pinto( devzero2000
) 。
(由Junio C gitster
合并- gitster
-在承诺30f302f ,2016年2月3日)
http
:使用凭证API来处理代理验证目前,通过代理凭证卷曲的唯一方法是将它们包含在代理URL中。 通常,这意味着它们将以未加密的方式结束(通过包含在
~/.gitconfig
,shell配置文件或历史记录中)。
由于代理身份验证通常使用域用户,因此凭据可能对安全敏感; 因此,通过证书的安全方式是可取的。如果配置的代理包含用户名而不是密码,则查询凭证API。 此外,请确保我们正确批准/拒绝代理凭据。 所以:
除了curl理解的语法之外,还可以指定一个带有用户名但没有密码的代理字符串 ,在这种情况下,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月):
您可以在Windows上使用git-credential-winstore之类的凭证助手(git1.7.9 +) ,以存储您的凭证。
你会用' git config --global credential.helper winstore
'声明它。
然后,您可以声明您的代理,而无需输入用户名和密码:
git config --global http.proxy http://proxy.server.com:8080
(尽管我更喜欢使用环境变量http_proxy
和https_proxy
)
另请参见“ git:' credential-cache
'不是git命令 ”