为什么github一直要求我提供回购凭证?

时间:2012-04-12 15:07:19

标签: github

我们最近将github从一个帐户所有者移动到另一个帐户所有者,现在突然间,当我在远程仓库上执行git pull或任何git命令时,它会要求我输入github用户名和密码。

我的git-config说:

[github]
    user = kamilski81
    token = *********

我知道如何阻止它询问我的凭据并记住所有内容,新的所有者是否必须设置我的ssh密钥或类似的东西?

4 个答案:

答案 0 :(得分:20)

按照这篇文章为我排序: https://help.github.com/articles/why-is-git-always-asking-for-my-password

git remote set-url origin git@github.com:user/repo.git

答案 1 :(得分:12)

gitconfig中的github用户名和令牌仅用于与GitHub API的交互(例如hub gem和github工具)。

如果您通过https从GitHub存储库推送和拉取,则需要每次都指定您的凭据,或者挂钩到密码管理器以记住您的凭据。如何做到这一点取决于您的平台。

最简单的方法是转到您的github帐户并将SSH公钥提交到您的帐户,然后切换您的github远程以推送/拉过ssh而不是https。

[edit]重新阅读问题后,我注意到你提到它以前是一个GitHub仓库,只是从一个所有者转移到另一个。如果是这种情况,并且您可以通过指定凭据进行推拉,那么我认为这是两种情况之一:

  • 以前的远程使用ssh,而GitHub有你的SSH密钥;但是当所有者更改并更新了遥控器后,您将其更新为通过https。
  • 以前的远程使用过https,但您已正确设置密码管理器来处理您的凭据,这些凭据已不再有效。

答案 2 :(得分:10)

执行“remote -v”....问题是我的遥控器使用的是“https”遥控器,而不是“git”遥控器。更改遥控器以使用git而不是https解决了所有问题。

答案 3 :(得分:0)

如果你只执行一次 git pull 而且Git客户端仍然没有为你做 git pull 而仍然问你凭证,问题应该是因为你的凭据不正确或者尚未设置。

但如果你得到对话框,请求每个操作的凭证一,这意味着你的凭证不会被记住。为此,您可以使用 Pageant 来存储您的SSH私钥,因此,每次您执行某些操作时,它都会从Pageant检索您的凭据,而不是询问您。