本文假设了两个用户 userA 和 userB ,userA的github项目名为 test 当你在使用git push项目的时候,你遇到了这个问题:git
MacBook-Pro:BSBacktraceLogger $ git push -u origin master
remote: Permission to userA/test.git denied to userB.
fatal: unable to access 'https://github.com/userA/test.git/': The requested URL returned error: 403
复制代码
报了403,说明访问被拒绝。 意思很明白,userB没有权限对userA的test进行push更改。 可是这时你已经使用了以下命令去配置全局用户。github
git config --global user.name userA
git config --global user.email userA@Email.com
复制代码
而且很明确当前用户已是userA,但仍是说userB没权限。bash
因为该电脑使用git bash配过SSH,系统已经将指向github.com的用户设置为了userB,每次push操做的时候,都将读取到userB的用户信息,相似于记住密码
。spa
在mac操做系统中,出现这个问题是经过OSX密钥链中的凭据来进行做为push的凭据的。这时咱们能够到 钥匙串访问 -》 删除咱们的userB的凭据。具体操做以下:操作系统
在 Finder 中,搜索 Keychain Access 应用程序。 .net
在 Keychain Access 中,搜索 github.com。 3d
相应地编辑或删除该条目。code
再次尝试 输入帐号密码后成功push。 cdn