Git在推送代码时返回错误403

15

一切都很正常,直到我创建了一个新的GitHub账户。当我尝试使用新账户第一次将代码推送到GitHub服务器时,出现以下错误:

remote: Permission to NEW_USER/NEW_REPO.git denied to OLD_USER.
fatal: unable to access 'https://github.com/NEW_USER/NEW_REPO/': The requested URL returned error: 403

尝试使用以下命令重置远程URL:

$git remote set-url origin https://username@github.com/user/repo.git,但不起作用。

在这里找到了一个解决方案(链接),但是该方法适用于Mac OS。有什么想法可以解决吗? 使用git bash version 2.16.1.windows.4.

谢谢

2个回答

34

当同一台机器上使用两个git账户时会出现此问题。在Windows 7上,您需要从Windows Vault中删除git凭据。

  • 进入控制面板 -> 用户帐户 -> 管理凭据。
  • 在通用凭据下,删除github凭据的条目。
  • 尝试推送代码,这次它会再次提示您输入正确的用户名和密码。

输入图像描述


2
完成此答案的Mac用户,请前往钥匙串 > 搜索git > 右键单击github/gitlab等凭据 > 删除 > 然后将再次要求输入用户名和密码,问题将得到解决。 - Mehrdad

6
你可以查看正在使用的Git凭据,并将其更改为你的新账户。
正如你提到的问题中的最佳答案所说,可以通过SSH方式:
$ git remote set-url origin git@github.com:new_user/new_repo.git

(并设置SSH密钥)而不是使用HTTPS方式也是一种解决方法。

凭据是正确的。不知何故,它仍然引用旧的git账户用户名。 那么如何设置SSH密钥? - calvin.mk
是否存在任何基于仓库的凭据?设置SSH密钥包括“生成SSH密钥”和“将SSH密钥注册到GitHub帐户”的步骤。 - Geno Chen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接