为什么github不断要求我提供回购凭证?
我们最近将我们的github从一个账户所有者转移到另一个账户,现在突然间,当我在远程仓库执行git pull
或任何git命令时,它会要求我提供github用户名和密码。为什么github不断要求我提供回购凭证?
我的混帐配置说:
[github]
user = kamilski81
token = *********
任何想法,我怎么能阻止它问我要证件,记住一切,并在新的所有者必须设置我的SSH密钥或者诸如此类的东西吗?
做了“远程-v”之后....问题是我的远程使用的是“https”远程而不是“git”远程。更改远程使用git而不是https解决了所有问题。
gitconfig用户名和gitconfig中的令牌仅用于与GitHub API(例如hub
gem和github
工具)的交互。
如果您通过https推送和从GitHub存储库中提取,那么您需要每次指定您的凭证,或挂钩到密码管理器以记住您的凭证。如何做到这一点取决于你的平台。
最简单的做法是转到您的github帐户并将您的SSH公钥提交到您的帐户,然后切换您的github远程以通过ssh而不是https进行推/拉。
重新阅读这个问题之后,我注意到您提到它之前是一个GitHub仓库,刚刚从一个所有者移到另一个仓库。如果是这样的话,你可以通过指定您的凭据,推拉,它的声音对我来说两种情况之一:
- 以前的远程使用SSH和GitHub的有你的SSH密钥;但是当所有者发生变化并且您更新了远程设备时,您将其更新为通过https。
- 以前的远程使用https,但你有一个密码管理器设置正确,以处理您的凭据,它不再有效。
如果你只执行一次混帐拉和Git客户端仍然要求你的凭证,而不做混帐拉对你来说,应该是问题,因为你的证书是不正确或不安装呢。
但是,如果您获得对话框要求为每个操作提供凭证一,则意味着您的凭证不会被记住。要做到这一点,您可以使用Pageant来存储您的SSH私钥,因此,每次您执行某项操作时,它都会从Pageant中检索您的凭据,而不是向您询问。
本文下面整理出来对我来说: https://help.github.com/articles/why-is-git-always-asking-for-my-password
git remote set-url origin [email protected]:user/repo.git
基本上这是最短的回答:) – valk 2013-04-11 09:07:54
感谢亚历克斯,以前的工作是HTTPS远程,和新的远程也HTTPS。我在Mac上运行,应该查看哪个密码管理器? – Kamilski81 2012-04-13 16:32:51