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

Git push报错403:本地仓库推送到GitHub失败求助

解决Git Push到GitHub时的403错误(已使用Token仍失败)

嘿,我来帮你排查这个头疼的403问题!你已经选对了用个人访问令牌(Token)替代密码的路子,但还有几个常见细节可能没做到位,咱们一步步来解决:

1. 先确认远程仓库URL是否正确且你有权限

首先检查本地仓库关联的远程地址是不是你自己的GitHub仓库:

git remote -v

正常输出应该是类似这样的:

origin  https://github.com/你的用户名/你的仓库名.git (fetch)
origin  https://github.com/你的用户名/你的仓库名.git (push)

如果URL里是别人的用户名,那你肯定没有推送权限,会直接报403;如果是自己的仓库,继续往下排查。

2. 确保你的Token拥有足够的推送权限

生成Token时必须勾选repo权限——这是推送代码的核心权限。如果之前生成时没选,得去GitHub重新配置:

  • 登录GitHub,进入「Settings」→「Developer settings」→「Personal access tokens」
  • 找到之前的Token,或者点击「Generate new token」新建一个
  • 在权限列表里勾选repo(包括它下面的所有子权限),保存后复制新的Token备用

3. 清理本地Git的凭据缓存

很多时候是本地缓存了旧密码或无效Token,导致推送时用的不是新凭据:

  • Windows:打开「凭据管理器」→「Windows凭据」,找到所有和GitHub相关的条目,删除后重新执行git push,此时会提示你输入用户名和Token(Token作为密码输入)
  • macOS:在终端执行以下命令清除缓存:
    git credential-osxkeychain erase
    
    然后按提示输入:
    host=github.com
    protocol=https
    
    回车确认即可
  • Linux:执行git credential-cache exit清除临时缓存,或者修改~/.gitconfig中的凭据配置

4. 临时测试:把Token直接嵌入远程URL

如果上面的方法都没效果,可以尝试把Token直接加到远程URL里,跳过凭据缓存的问题:

git remote set-url origin https://你的GitHub用户名:你的Token@github.com/你的GitHub用户名/你的仓库名.git

然后再执行git push origin master,如果成功了,说明是凭据缓存的问题,之后可以再把URL改回正常的https://github.com/你的用户名/你的仓库名.git,让Git重新请求凭据。

5. 关于本地.gitconfig的说明

你之前配置的user.name、user.email是用于提交代码时的身份标识,和推送权限没有关系,所以不用修改这部分。如果你的.gitconfig里有credential.helper配置,确保它不会强制使用旧凭据即可。

先从检查远程URL和Token权限开始,这两个是最容易忽略的点,大概率能解决你的问题!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 10:16:34