GitHub 403权限错误:使用PAT仍无法执行git push
Git Push 403权限拒绝问题解决办法
几个大概率的问题点及修复步骤
1. 本地缓存了旧账号凭据,Git自动用旧认证
旧账号的用户名/密码可能还存在本地凭据管理器中,Git会自动调用旧凭据完成认证,导致新账号权限被拒:
- Windows:打开「凭据管理器」→「Windows凭据」,删除所有与
github.com相关的条目后重新执行push。 - Mac:在终端执行
git credential-osxkeychain erase,按提示输入host=github.com和protocol=https,回车确认删除。 - Linux:执行
git config --global credential.helper store,然后打开~/.git-credentials文件,删除github相关的行,或直接删除该文件。
2. PAT令牌权限不足
创建PAT时未勾选必要权限,导致无法操作仓库:
- 重新生成PAT,务必勾选
repo权限(全选其子项),若涉及GitHub Actions可额外勾选workflow权限,先确保权限充足能正常push,再按需调整范围。
3. 本地仓库远程URL配置错误
检查本地仓库关联的远程地址是否指向新账号的仓库,避免仍绑定旧账号地址:
- 执行
git remote -v查看当前远程地址,确认是否为https://github.com/<你的新用户名>/test.git。 - 若地址错误,执行
git remote set-url origin https://github.com/<你的新用户名>/test.git修正。
4. 邮箱关联的账号冲突
同一邮箱绑定过新旧账号,GitHub可能存在认证混淆:
- 登录新账号,进入「Settings」→「Emails」,确认该邮箱已设为主邮箱,且旧账号已彻底删除(若旧账号仍存在,需先解绑该邮箱)。
- 本地Git配置的邮箱要与新账号主邮箱一致:执行
git config --global user.email "你的邮箱"、git config --global user.name "你的新用户名"。
5. 直接将凭据嵌入远程URL尝试
若上述方法均无效,可跳过凭据输入步骤,直接将用户名和PAT写入远程URL:
- 执行
git remote set-url origin https://<你的新用户名>:<你的PAT令牌>@github.com/<你的新用户名>/test.git,之后再执行git push。
内容的提问来源于stack exchange,提问作者kquetat-
相关产品推荐
相关产品推荐

