创建贡献蛇形网格时GitHub Actions推送遇403权限错误求助
GitHub Workflow推送代码时403权限错误的排查与解决方案
错误核心
推送环节返回如下关键错误,说明当前使用的令牌没有仓库写入权限:
remote: Write access to repository not granted.
fatal: unable to access 'https://github.com/KrAsH-CoD3/cont-snake-grid.git/': The requested URL returned error: 403
解决方案
检查令牌权限
- 若使用GitHub默认的
GITHUB_TOKEN:
默认情况下,该令牌在多数触发事件(如push、pull_request)中仅拥有只读权限,需在Workflow文件中显式配置写入权限:
将上述配置放在Workflow的permissions: contents: writejobs节点上方即可。 - 若使用自定义PAT(个人访问令牌):
确保PAT勾选了repo权限,且未过期、未被撤销;同时确认PAT已正确添加到仓库的Secrets中,Workflow里引用的名称与Secret名称一致。
- 若使用GitHub默认的
核对Action配置
确认ad-m/github-push-action的github_token参数引用了正确的Secret,示例配置:- uses: ad-m/github-push-action@master with: github_token: ${{ secrets.GITHUB_TOKEN }} # 或自定义的Secret名称 branch: main force: true检查分支保护规则
如果main分支开启了分支保护(如要求PR合并、限制直接推送),即使令牌有写入权限也会被拒绝。可调整分支保护规则,允许GitHub Actions机器人直接推送,或改用PR方式合并代码。确认仓库访问权限
确保运行Workflow的身份(Actions机器人或PAT所属用户)是仓库的协作者、拥有者,或所属组织中拥有仓库写入权限的成员。
内容的提问来源于stack exchange,提问作者KrAsH3D
相关产品推荐
相关产品推荐

