使用代理后面的git

时间:2013-03-09 11:31:42

标签: windows git configuration proxy

我在代理人后面。要让git正常工作,我必须添加

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

.gitconfig

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

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

如何使用git

执行此操作

1 个答案:

答案 0 :(得分:5)

2016年2月更新:

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

commit 372370fcommit ef97639Knut 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.0commit 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