zoukankan      html  css  js  c++  java
  • Windows下解决github push failed (remote: Permission to userA/XXXX.git denied to userB.) 上传gitHub失败报错

    Windows环境下解决 github push failed (remote: Permission to userA/XXXX.git denied to userB.)

    · 初学GitHub的朋友遇到可能会遇到一些很难找到答案的问题,这个就是一个找了3天才有点眉目的问题,现在把解决方法分享给大家,希望初学者少走弯路。

    下面假设了两个用户 userA 和 userB ,userA的github项目名为 XXXX.git

    ----------------------------------------------------------------------------------------------------------------------------------------------------- 
    针对git push的时候报错(解决上传到github报错)
    Successfully created project 'XXXX' on GitHub, but initial commit failed:
    remote: Permission to userA/xxxx.git denied to userB。fatal: unable to access ‘https://github.com/userA/xxxx.git/‘: The requested URL returned error: 403
    ----------------------------------------------------------------------------------------------------------------------------------------------------- 

    当你在使用Idea、VS code 、Android Studio等开发工具 push项目的时候,如果遇到了这个问题:

       fatal: unable to access 'https://github.com/userA/XXXX.git/': The requested URL returned error: 403

    问题的表面原因?

    报了403,说明访问被拒绝。 
    切换到终端(Terminal),使用命令 git push -u origin master 后,错误显示到下方了:

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

    问题分析

    意思很明显,就是说userB没有权限对userA的XXXX仓库进行push更改。 

    •  A) 可以通过shell命令(打开Git Bash程序)输入  cat ~/.gitconfig ,得知当前的用户为userB。
    • B) 也可以


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

    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、对userA生成SSH公钥,添加到userB的github后台; 
    2、将userB添加为userA项目的contributer; 
    3、移除计算机中的userB。

    对于1和2,相信很多人不想这么做,因为一旦使用了SSH,以后的所有clone、pull、push等操作都将使用SSH传输,对以往使用过https传输的项目也得重新更改传输方式,这样会浪费一些时间。

    现在详细讲下方案3,操作很简单:

    打开 控制面板–>用户账户–>凭据管理器–>管理Windows凭据(或者在开始菜单中搜索 【凭据管理器】)


    打开凭据管理器后,下拉在普通凭证,展开这条github.com相关的凭据,直接删除 或者 点编辑修改,再拉取或者提交的时候会让我们重新输入用户名密码 。


    好了,问题解决,现在去各类Studio开发平台 重新push上传代码到GitHub,要求你输入userA的邮箱和密码,输入后就可以成功提交了。

    最后查看重新生成了一个证书,并且未指定用户。
    --------------------- 

    参考文献:

    1. I-T枭   https://blog.csdn.net/hahahhahahahha123456/article/details/81104977

    2. 神话2009 https://blog.csdn.net/klxh2009/article/details/76019742 

    ·

    ·

  • 相关阅读:
    Js学习第十天----函数
    IOS Object和javaScript相互调用
    hadoop2.7.1 nutch2.3 二次开发windows环境
    交叉熵代价函数(作用及公式推导)
    推断dxf文件的版本号
    mahout in Action2.2-聚类介绍-K-means聚类算法
    Xcode 技巧充电篇
    Android 推断SD卡是否存在及容量查询
    springmvc学习笔记(12)-springmvc注解开发之包装类型參数绑定
    pip简单配置
  • 原文地址:https://www.cnblogs.com/05-hust/p/10648557.html
Copyright © 2011-2022 走看看