解决 github push failed 用户权限问题


自己有两个github账户,用途不同,但是需要在同一台机器上使用。结果提交时出现权限错误,查了些资料,整理如下。

一、需求情况:

本文假设了两个用户userA和userB ,userA的github项目名为repo

我在使用github push项目的时候,遇到了一下问题:

1
2
3
Push failed: Failed with error:
fatal:unable to access 'https://github.com/userA/repo.git/':
The requested URL returned error: 403

初步分析是报403,说明访问被拒绝了。
切换到终端(Terminal),使用命令 git push -u origin master后,显示:

1
2
3
remote: Permission to userA/repo.git denied to userB.
fatal: unable to access 'https://github.com/userA/repo.git/':
The requested URL returned error: 403

二、解决思路:

原因很清晰,userB没有权限对userA的repo进行push更改。
这让我想起了之前曾经配置过全局用户:

1
2
git config --global user.name userA
git config --global user.email userA@email.com

并且自己的电脑之前好像也使用git bash配过SSH,系统已经将指向github.com的用户设置为了userB。
因为此时系统已经将指向github.com的用户设置为了userB,所以每次push操作的时候,都将读取到userB的用户信息,类似于记住密码。

三、具体方案:

在自己电脑上打开 控制面板 > 用户帐户和家庭安全 > 凭据管理器。

展开 git:https://github.com 并删除掉即可。当然我的已经被我给删除了,图上看不到。

-------------本文结束感谢您的阅读-------------