我在Windows 7上使用Git Bash。我们使用GitHub作为我们的存储库源。
每次我推或拉我都必须提供用户和密码凭据。我知道我的SSH密钥设置正确,否则我将无法访问存储库。 (也就是说,一旦我输入我的凭证,推/拉工作正常。)
我进去了
git config --global user.name myusername
git config --global user.email myemail
git config --global github.user myusername
git config --global github.token mytoken
但是,尽管如此,每次推/拉时我都会被要求提供凭据。
确保使用GitHub存储库的SSH URL而不是HTTPS URL。当您使用HTTPS而不是SSH时,它会询问用户名和密码。您可以检查文件.git/config
或运行git config -e
或git remote show origin
来验证URL并在需要时进行更改。
从Git Bash我更喜欢运行命令:
git config --global credential.helper wincred
此时运行git pull
之类的命令并输入您的凭证一次应将其存储以备将来使用。 Git有一个内置的凭证系统,可以在不同的操作系统环境中运行。你可以在这里获得更多细节:7.14 Git Tools - Credential Storage
对于那些使用访问令牌和Windows环境的人来说,有一种简单的方法:
开始菜单→凭据管理器→Windows凭据→找到行(Git:https://whatever/your-repository/url)→编辑,用户名是PersonalAccessToken,密码是您的访问令牌。
如果您是Mac用户并且启用了钥匙串,则需要删除存储在钥匙串中的授权信息:
- Open up Keychain access
- Click "All items" under category in the left-hand column
- Search for git
- Delete all git entries.
然后,您应该使用git config
从终端更改您的用户名和电子邮件:
$ git config --global user.name "Bob"
$ git config --global user.email "[email protected]"
现在,如果您尝试推送到存储库,系统将要求您输入用户名和密码。输入您要切换到的登录凭据。如果您使用不同的用户名和密码或终端上先前切换的帐户在浏览器上登录GitHub,则通常会弹出此问题。
尝试使用ssh-agent来安装与Git一起使用的SSH密钥。它应该在使用密码后自动登录。
如果你的repo是HTTPS repo,git config -e在git bash中给出这个命令。通过在插入模式下打开更新用户名和密码,更改密码或用户名给:x和Cntrl + z键,它将保存并退出
因此,从那时您将代码拉/推送到存储库时,它不会要求输入密码。