我是使用git的新手。每次我想将我的文件推送到github时,它总会显示我输入密码的通知。例如:'https://username@bitbucket.org'的密码
我希望我的git能为我记住密码。我怎么能在Windows 7上做到这一点?我已在此处阅读了帮助页https://help.github.com/articles/set-up-git
答案 0 :(得分:9)
如果您按照Github上的说明操作,请记下此行。
相关提示:凭据帮助程序仅在克隆HTTPS repo URL时有效。如果您使用SSH repo URL,则使用SSH密钥进行身份验证。
你正在使用ssh,所以git凭证助手不会起作用。你有几个选择。
ssh问题并非特定于git。您可以设置ssh-agent,这样您只需输入一次ssh密钥密码即可。它将被记住,安全地存储在内存中,直到您注销。 Github has a tutorial about setting up an ssh-agent
无论您选择哪个选项,我强烈建议您花些时间设置ssh-agent。 Ssh是如此有用且如此广泛,你将再次遇到这个问题。
您可以从git@github.com:username/my-repo.git
克隆,而不是从https://github.com/username/my-repo.git
克隆。它是项目页面上的http
按钮。然后github文档中描述的git凭证帮助程序将起作用。您可能必须先安装它,或使用他们的Github应用程序。这些都在Github on Windows setup guide的密码缓存部分中描述。
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代理。启动后,它将驻留在通知区域中。点击图标即可添加密钥。
一旦您的代理人知道密钥,就不应再要求您输入密码短语。