出现remote: Permission to xxx/xxx.git denied to xxx
的具体原因我就不解释了,在网上搜索以上错误提示基本能找到很多关于这个报错的解释。
大概意思就是说我的电脑上保存的 github 账号和要访问的 github 账户不是同一个账户,blablabla...
直接上解决方案
终极方案:删除钥匙串中保存的github账号
第一步:打开钥匙串。如下图所示
第二步:在搜索框输入 github。如下图所示
目前我的电脑里只有一条搜索结果,代表我的电脑只保存了一个 github 账户的用户名和密码。
对你来说,搜索结果里大概率会出现多条记录。我的建议是删除所有搜索结果,如下图所示
第三步:删除到一条不剩为止,这样接下来再访问 github 账户,就不会出现 remote: Permission to xxx/xxx.git denied to xxx
。
注意:其实也不用把搜索结果中的全部账号删完,双击搜索结果是可以查看这条结果保存的是哪个 github 账户的用户名和密码的,所以,删除除了即将访问的 github 账户之外的所有搜索结果就好了。
临时方案:修改当前 github 仓库的配置文件
你肯定知道当前文件夹下如果有 git 仓库,会有一个 .git 的隐藏文件夹。如下图所示
在这个文件夹下有一个文件叫 config,config 保存着当前仓库的一些账户相关的配置信息。
第一步:通过 vim 编辑器打开这个文件,首先命令行进到 .git 文件夹下
第二步:输入命令:vim config
第三步:执行命令,按 enter 键,得到如下结果
第四步:上图就是保存在 config 文件中的信息,修改其中一行
url = https://github.com/shenzhengfang.git
为
url = https://shenzhengfang@github.com/shenzhengfang.git
对比一下上下两条的区别,好好瞅瞅
对,没错,就是多了shenzhengfang@
然后保存下来就好了,你一定知道怎么保存对吧?
第五步:不知道,好吧,按住 shift 键不松,按 :键,左下角出现了 :
第六步:输入 wq,按 enter 键即可
好了,接下来这个文件夹下的 git 账号就不会被即将访问的 github 账户拒绝了!!!