Git 最著名报错: remote: Permission to B/Demo.git denied to A.

参考博客:

https://blog.csdn.net/ltstud/article/details/77895382?locationNum=10&fps=1

情况大致是这样的,最开始的时候,我注册了一个github的账号,暂且就叫A账号吧,然后关联了Android Studio,并用这个账号创建了几个远程仓库。然后有一天,我突然感觉A这个名字难听还不好记,于是我就把A这个账号删了,重新又注册了一个账号B。最近在写一个Demo,想把这个Demo上传到github上,本地仓库也建好了,项目也成功的commit到本地仓库了,但在最后一步push到远程仓库的时候报错了,一直显示:

 

 

remote: Permission to B/Demo.git denied to A.fatal: unable to access 'https://github.com/A/Demo.git/': The requested URL returned error: 403大致意思就是没有权限原因分析其实具体原理我理解的也不是很清楚,根据这篇文章Git 最著名报错 “ERROR: Permission to XXX.git denied to user”终极解决方案,所以原因大致是这样的:我的A账号和B账号添加的是同一个公钥,在操作的时候github就不能区分到底是哪个用户在安全登陆网站。因为之前A账号登过,所以B账号这个时候再用这个公钥去登就不被允许了。幸运的是,一个账号可以拥有多个公钥,那我把B账号重新生成一个公钥,然后用这个新的公钥去操作就可以了。 

 

 

解决方法

 

 

0、在.ssh/ 目录下操作 git

 

 

 

 

 

 

 

 

 

 

 

 

1.生成一个新的SSH KEY 
git bash 终端输入命令(后面”“里面的内容可以自己取)

 

 

$ ssh-keygen -t rsa -C "IWindow_personnal_publicKey"

 

 

然后 enter 一下:到 save key

输入  C:\Users\ldm\.ssh\id_rsa_bcount  然rsa key 保存到新建的 文件里面。(是否新建,试一下)

然后再 回车键。出现  箭头里的文件,说明成功。

 

 

在 文件 id_rsa_bcount 文件里面 保存着生成好的公钥。

 

 

 

  1. GitHub 上添加新 生成的 SSH key 
    打开.ssh文件夹,找到我们之前生成的id_rsa_bcount文件,然后打开,复制里面的内容,我这里是用NotePad软件打开的。

 

在 自己的github 里面 setting 里面输入 公钥。

 

 

 

  1. 打开~/.ssh/config文件 

 

首先看一下.ssh文件夹下面有没有config这个文件,如果没有就创建一个config文件。 
创建config的命令行:

$ git touch  config

然后我们就要重新添加一个Host,Host的名字我取github-bcount, 
具体做法是用NotePad打开config文件,然后把下面的内容复制进去:

Host github-bcount

HostName github.com

User git

IdentityFile ~/.ssh/id_rsa_BCount

然后保存config文件。 
我们可以使用$ cat config命令来查看config里面的内容,确认是否添加正确。

 

4.将GitHub SSH仓库地址中的git@github.com替换成新建的Host别名 
关于替换的规则: 
原来的项目的ssh地址为: 
$ git@github.com:A/Demo.git 
那么替换后的地址为: 
$ github-bcount:A/BestoneGitHub.git 
或者: 
$ git@github-bcount:A/Demo.git 
具体修改的命令行:

首先用$ git remote -v判断一下现在连的是不是Demo这个地址的远程仓库,如果是的,修改host名称:

$ git remote set-url origin github- bcount:A/Demo.git

然后可以使用$ ssh -T github-bcount命令看看是否修改成功 
如果修改成功,再使用$ git remote -v命令时,下面应该显示:

github    github- bcount:A/Demo.git (fetch)

github    github- bcount:A/Demo.git (push)

然后再次进行提交项目等操作,应该就可以了。 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值