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

如何通过GitHub Actions修改仓库默认分支?解决403权限问题

GitHub Actions修改仓库默认分支报403的问题解决

操作是否支持?

支持通过GitHub Actions修改仓库默认分支,但默认的GITHUB_TOKEN没有足够权限执行该操作,这是触发HTTP 403: Resource not accessible by integration错误的核心原因。

解决步骤

默认的GITHUB_TOKEN仅具备仓库读写权限,而修改默认分支属于仓库设置变更,需要管理员级别的权限。解决方法是使用带仓库管理权限的个人访问令牌(PAT)替代默认令牌:

  1. 生成带权限的PAT

    • 进入GitHub个人设置的「Developer settings」→「Personal access tokens」页面
    • 创建新令牌,勾选repo权限组(包含仓库管理所需的全部权限)
    • 保存生成的令牌(仅显示一次,务必妥善记录)
  2. 将PAT存入仓库Secrets

    • 打开目标仓库的「Settings」→「Secrets and variables」→「Actions」
    • 新建Secret,命名为REPO_ADMIN_TOKEN,值填入刚才生成的PAT
  3. 更新工作流配置

    • 将工作流中GH_TOKEN的取值从${{ secrets.GITHUB_TOKEN }}替换为${{ secrets.REPO_ADMIN_TOKEN }}
    • 保留原permissions: write-all配置(或明确设置admin: write以确保权限覆盖)

修改后的关键步骤代码示例:

- name: Create PR
  run: |
    yarn
    yarn bump:minor
    VERSION=$(jq -r .version package.json)
    BRANCH=release/$VERSION
    git checkout -b $BRANCH
    git commit -am "Release $VERSION"
    git push --set-upstream origin $BRANCH
    gh pr create --title "Release $VERSION" --body "" --head $BRANCH --base main
    gh repo edit --default-branch $BRANCH
  env:
    GH_TOKEN: ${{ secrets.REPO_ADMIN_TOKEN }}

额外提示

  • 若你的流程需要在PR合并后再修改默认分支,建议将工作流触发条件改为pull_request_closed并判断PR是否已合并,避免提前修改分支影响正常开发
  • PAT拥有较高权限,需妥善保管,勿随意泄露

内容的提问来源于stack exchange,提问作者Gustavo Mendonça

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 20:00:02