! [remote rejected] other -> other (permission denied)error: failed to push some refs to XXX

问题描述:

 ! [remote rejected] master -> master (permission denied)
error: failed to push some refs to 'https://github.com/guandaihui/git-study.git'

! [remote rejected] other -> other (permission denied)error: failed to push some refs to XXX_第1张图片

这个问题看了很多篇博客,大多数博客说是ssh设置的问题。但是,就算使用了SSH,这个问题并没有得到很好的解决。

 后面这个单词:permission denied是没有权限的意思。也就是我们使用push是没有权限的。

但是,pull任然可以使用。而且使用git push -u 会出现下面的问题:

! [remote rejected] other -> other (permission denied)error: failed to push some refs to XXX_第2张图片

 

 又查了一些博客,他们的解决方式是输入:(就是提示信息)

git push --set-upstream main other

但是,后面任然会回到拒绝权限的问题。


问题解决:

我是看了这一篇博客给的启发:

git push的时候没有权限问题的解决办法_git没有权限推送-CSDN博客

 根据这个博客说的,以及我自己的理解,我推测,因为我使用了第二个账号登录github。但是,在我的电脑里面,也就是凭据管理器里面,已经对git进行绑定了。也就是说虽然我登录的是第二个账号的github。

但是,使用git的命令的时候,尤其是使用push命令的时候,它所使用的仍然是第一个账户。

! [remote rejected] other -> other (permission denied)error: failed to push some refs to XXX_第3张图片

 

 输入命令:git config --list 。可以查看当前项目所绑定的账户。

! [remote rejected] other -> other (permission denied)error: failed to push some refs to XXX_第4张图片

 所以,最简单的方式就是把凭据管理器里面的那个git所绑定的账号删除掉!!!

最后,在进行git push -u 就会提示重新绑定账号的信息。这个时候绑定第二个账号。

在输入命令:git push -u 或者:git push -u master(别名) master(本地主机分支)。

问题解决啦!!!

但我任然存在一点疑惑,上面的方式虽然可以解决。但是后面我对从第一个账号所拷贝过来的项目对它进行:git push -u 。这个时候是出现git push --set-upstream origin master 的提示的。(这一步意料之中,因为现在绑定的是第二个账号)。但是,当我按提示输入: git push --set-upstream origin master。并没有出现像之前一样,说没有权限的问题。而是,可以通过。

 

你可能感兴趣的:(github,git)