我在github(Mariogs37)上有一个帐户,我已经停止使用了.与此同时,我创建了一个我想开始使用的新人(bclayman).我在github上创建了一个repo并运行:
git remote add origin https://github.com/bclayman/SquashScraper.git
Run Code Online (Sandbox Code Playgroud)
我没有收到任何错误消息,然后我运行:
git push -u origin master
Run Code Online (Sandbox Code Playgroud)
但是,我收到此错误消息:
remote: Permission to bclayman/SquashScraper.git denied to Mariogs37.
fatal: unable to access 'https://github.com/bclayman/SquashScraper.git/': The requested URL returned error: 403
Run Code Online (Sandbox Code Playgroud)
我搜索了类似的问题并发现了这个链接:
http://stackoverflow.com/questions/24019258/git-thinks-im-the-wrong-user
Run Code Online (Sandbox Code Playgroud)
我按照vonC的回答说明(这里:https://help.github.com/articles/generating-ssh-keys/#step-3-add-your-ssh-key-to-github ).在将我的SSH密钥添加到github的最后,我在终端中得到了这个:
Hi bclayman! You've successfully authenticated, but GitHub does not provide shell access.
Run Code Online (Sandbox Code Playgroud)
我重新尝试将我的本地仓库推送到github,但遇到了同样的错误.知道为什么它仍然认为我是Mariogs37(因此没有权限推送到bclayman拥有的github上的回购)?
谢谢,
bclayman
这很可能是对凭证用于什么的误解.
GitHub允许您使用两种不同的协议来访问您的仓库:
SSH:
这个使用~/.ssh
文件夹中的ssh键和设置.如果您添加这样的遥控器,则使用它:
git remote add origin git@github.com:bclayman/SquashScraper.git
Run Code Online (Sandbox Code Playgroud)
HTTPS(您选择的那个):
这个使用https凭据,根据您的系统可以存储在各个地方(如果有的话).由于您似乎正在使用OS X Keychain,因此它们很可能存储在那里.如果您添加这样的遥控器,则使用https协议:
git remote add origin https://github.com/bclayman/SquashScraper.git
Run Code Online (Sandbox Code Playgroud)
所以为了解决这个问题,我打开你的OS X Keychain并搜索https://github.com并删除所有出现的项目.下次尝试推送/获取时,应再次询问您的用户名和密码.