解决 github push failed (remote: Permission to userA/repo.git denied to userB.)

前言】当你看到这篇文章时,很高兴,你不用再去各大网站再去搜索这个问题的解决方案了,因为这篇文章可以帮你彻底解决问题。请耐心地阅读完。

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

当你在使用git push项目的时候,你遇到了这个问题:

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: 403userA/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更改。 

这时你已经使用了如下命令去配置全局用户

git config --global user.name userA
git config --global user.email userA@Email.com

并且很明确当前用户已经是userA,但还是说userB没权限。。

什么原因? 
由于该电脑使用git bash配过SSH,系统已经将指向github.com的用户设置为了userB,每次push操作的时候,都将读取到userB的用户信息,类似于记住密码

如何解决? 
1、找到userB生成的SSH公钥,添加到userA的github后台; 
2、将userB添加为userA项目的contributer; 

如何查看当前mac 上的userB的SSH公钥呢?

MacBook-Pro:BSBacktraceLogger$ ls -al ~/.ssh
total 24
drwx------   5 ***  staff   160  1  8  2018 .
drwxr-xr-x@ 51 ***  staff  1632  7 13 11:23 ..
-rw-------   1 ***  staff  1679 12 12  2016 id_rsa
-rw-r--r--   1 ***  staff   398 12 12  2016 id_rsa.pub
-rw-r--r--@  1 ***  staff   984  1  8  2018 known_hosts
MacBook-Pro:BSBacktraceLogger $ open ~/.ssh
  1. 在终端输入ls -al ~/.ssh 可以看到有一个id_rsa.pub公钥
  2. 将这个公钥的内容添加到userA的SSH keys
  3. 将userB加入到userA的Collaborators中
  4. 现在就可以push了
    参考原文:https://blog.csdn.net/klxh2009/article/details/76019742
  5. https://shinancao.github.io/2016/12/18/Programming-Git-1/
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值