git不记得密码

时间:2012-12-23 11:38:37

标签: git github bitbucket

我是使用git的新手。每次我想将我的文件推送到github时,它总会显示我输入密码的通知。例如:'https://username@bitbucket.org'的密码

我希望我的git能为我记住密码。我怎么能在Windows 7上做到这一点?我已在此处阅读了帮助页https://help.github.com/articles/set-up-git

2 个答案:

答案 0 :(得分:9)

如果您按照Github上的说明操作,请记下此行。

  

相关提示:凭据帮助程序仅在克隆HTTPS repo URL时有效。如果您使用SSH repo URL,则使用SSH密钥进行身份验证。

你正在使用ssh,所以git凭证助手不会起作用。你有几个选择。

  • 设置ssh-agent以存储您的ssh密钥密码。

ssh问题并非特定于git。您可以设置ssh-agent,这样您只需输入一次ssh密钥密码即可。它将被记住,安全地存储在内存中,直到您注销。 Github has a tutorial about setting up an ssh-agent

无论您选择哪个选项,我强烈建议您花些时间设置ssh-agent。 Ssh是如此有用且如此广泛,你将再次遇到这个问题。

  • 切换到使用https而不是ssh。

您可以从git@github.com:username/my-repo.git克隆,而不是从https://github.com/username/my-repo.git克隆。它是项目页面上的http按钮。然后github文档中描述的git凭证帮助程序将起作用。您可能必须先安装它,或使用他们的Github应用程序。这些都在Github on Windows setup guide的密码缓存部分中描述。

  • 使用他们的Github应用程序。

The guide提到他们现在有一个Github应用程序,它可能会为你解决这个问题。然而,这只是一个止损,因为其他git服务器不会有这样的东西。

答案 1 :(得分:2)

github允许两种不同的方法访问您的存储库:https和ssh。

在您的问题的第一个版本中,您配置了git以通过ssh访问github。因此git调用ssh尝试读取你的密钥并询问你ssh-key的密码。

创建ssh密钥时,可以使用密码来保护密码,或者决定不这样做。

如果您决定使用密码短语,则每次要使用密钥(即推送,获取等)时都必须键入密码短语,或者您可以使用ssh-agent。在最后一种情况下,只需在向代理添加密钥时键入密码短语一次。之后,代理商将为您完成所有授权。

在Windows上,您可以使用PuTTY工具管理密钥: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

您可以使用puttygen生成新密钥或更改现有密钥。 (例如删除密码)

您可以使用pagent作为ssh代理。启动后,它将驻留在通知区域中。点击图标即可添加密钥。

一旦您的代理人知道密钥,就不应再要求您输入密码短语。