You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取仓库访问权限并解决GitHub推送403权限错误?

GitHub仓库权限与推送报错问题解答

1. 如何获取仓库的访问权限?

这得看仓库是公开还是私有,分两种情况处理:

  • 私有仓库:
    你得联系仓库的所有者或者拥有管理员权限的成员,让他们在仓库的「Settings」→「Access」页面里把你添加为协作者,或者把你加入到有权限的组织团队中,同时给你分配合适的权限(比如读写、只读)。
  • 公开仓库:
    公开仓库默认允许所有人克隆(clone),如果需要推送修改的权限,同样需要联系仓库所有者添加你为协作者;要是你只是想贡献代码,也可以先Fork这个仓库,在自己的Fork版本里修改后,提交Pull Request给原仓库等待合并。

2. 推送时报错403,如何移除旧账户并修复?

这个报错是因为你的本地Git缓存了旧账户user1212114的凭证,导致推送时用了旧账户的身份,而不是你现在的user21。按照下面的步骤来修复:

第一步:检查并更新本地Git用户配置

先打开终端,看看当前全局的Git用户信息:

git config --global user.name
git config --global user.email

如果显示的是旧账户user1212114的信息,赶紧更新成user21的:

git config --global user.name "user21"
git config --global user.email "你的user21关联邮箱地址"

要是你只需要给当前仓库单独设置,去掉命令里的--global参数就行。

第二步:清除本地缓存的GitHub凭证

不同系统的凭证存储位置不一样,对应操作如下:

  • Windows:打开「控制面板」→「用户账户」→「凭据管理器」→「Windows凭据」,找到带有git:https://github.com的条目,右键删除即可。
  • macOS:在终端里执行以下命令,按两次回车完成删除:
    git credential-osxkeychain erase
    host=github.com
    protocol=https
    
  • Linux:如果用的是libsecret凭证存储,执行:
    git credential-libsecret erase
    host=github.com
    protocol=https
    
    要是凭证存在~/.git-credentials文件里,直接编辑这个文件,删掉GitHub相关的条目就行。

第三步:检查并修正远程仓库地址(可选)

有时候远程仓库的URL可能带了旧账户信息,先检查一下:

git remote -v

如果输出里显示的是https://user1212114@github.com/user21/simple-site.git,就把它改成user21的:

git remote set-url origin https://user21@github.com/user21/simple-site.git

当然,如果你配置了SSH密钥,换成SSH地址更省心(不用每次输密码):

git remote set-url origin git@github.com:user21/simple-site.git

第四步:重新推送验证

现在再次执行推送命令:

git push -u origin master

这时候系统会提示你输入user21的GitHub账号信息,如果开启了双因素认证,记得用个人访问令牌(PAT)代替密码,并且确保这个PAT有仓库的读写权限。

内容的提问来源于stack exchange,提问作者codfish555

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:49:50