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 

    ·

    ·

  • 相关阅读:
    监控里的主码流和子码流是什么意思
    监控硬盘容量计算
    一个能让你了解所有函数调用顺序的Android库
    电工选线
    oracle linux dtrace
    list all of the Oracle 12c hidden undocumented parameters
    Oracle Extended Tracing
    window 驱动开发
    win7 x64 dtrace
    How to Use Dtrace Tracing Ruby Executing
  • 原文地址:https://www.cnblogs.com/05-hust/p/10648557.html
Copyright © 2011-2022 走看看