我们最近将github从一个帐户所有者移动到另一个帐户所有者,现在突然间,当我在远程仓库上执行git pull
或任何git命令时,它会要求我输入github用户名和密码。
我的git-config说:
[github]
user = kamilski81
token = *********
我知道如何阻止它询问我的凭据并记住所有内容,新的所有者是否必须设置我的ssh密钥或类似的东西?
答案 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仓库,只是从一个所有者转移到另一个。如果是这种情况,并且您可以通过指定凭据进行推拉,那么我认为这是两种情况之一:
答案 2 :(得分:10)
执行“remote -v”....问题是我的遥控器使用的是“https”遥控器,而不是“git”遥控器。更改遥控器以使用git而不是https解决了所有问题。
答案 3 :(得分:0)
如果你只执行一次 git pull 而且Git客户端仍然没有为你做 git pull 而仍然问你凭证,问题应该是因为你的凭据不正确或者尚未设置。
但如果你得到对话框,请求每个操作的凭证一,这意味着你的凭证不会被记住。为此,您可以使用 Pageant 来存储您的SSH私钥,因此,每次您执行某些操作时,它都会从Pageant检索您的凭据,而不是询问您。