Git(1.7.10)每次都会问我用户名和密码

时间:2012-06-09 15:28:02

标签: git version-control github ssh credentials

由于我有新版本,它不再问我在ssh密钥文件中设置的密码。

每当我每次推送时,它都会直接询问github用户名和密码。

这是git的新功能还是过去改变了它还是github上有什么变化?

我尝试使用ssh以及我的ssh密钥文件中的电子邮件和密码进行身份验证,但它确实有效。

GitHub已更改为smartftp,并且还更改了设置回购的说明

https://github.com/blog/1104-credential-caching-for-wrist-friendly-git-usage

https://help.github.com/articles/create-a-repo

稍后看到,他们现在使用https而不是默认的git协议

3 个答案:

答案 0 :(得分:5)

前几天,当我从GitHub上的新存储库说明中剪切并粘贴时,我遇到了这个问题。有人应该提交错误报告,因为它让我认识的几乎每个人都感到困惑。

问题是指令告诉您创建使用https协议的远程,而不是git协议。我通常使用:

github_username=CodeGnome
git remote add origin "git@github.com:${github_username}/${PWD##*/}.git"
git push --tags --set-upstream origin master

从预先存在的本地存储库中填充新的GitHub存储库。

答案 1 :(得分:3)

git config --global credential.helper cache
git config --global credential.helper 'cache --timeout=3600'

您只需先输入您的用户名和密码;在3600s或1小时后,您无需输入用户名和密码。

超时你可以设置你的号码。

答案 2 :(得分:2)

使用https地址,您有另一个选项(password caching旁边):
使用_netrc文件,其中包含您的用户名和密码,在HOME(或.netrc用于bash会话)。
请注意,Windows默认情况下未定义HOME。

machine github.com
login <login_github>
password <password_github>

另请参阅“Git - How to use .netrc file on windows to save user and password”。

(“Syncing with github”的其他选项)