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

如何不使用PAT仅借助GITHUB_TOKEN在GitHub Actions中创建Git提交

GitHub Action 仅用GITHUB_TOKEN实现代码提交+打标签解决方案

核心解决逻辑

你遇到的身份错误仅需提前配置Git提交者身份即可解决,全程无需PAT,只需要用到内置的secrets.GITHUB_TOKEN。

完整配置步骤

  • 第一步:在Workflow根级别配置写入权限,确保GITHUB_TOKEN拥有代码和标签的操作权限
# 放在workflow文件的最上层,和on、jobs同级
permissions:
  contents: write
  • 第二步:在执行git commit前,先配置Git提交者身份,使用GitHub官方的Actions Bot身份即可
- name: 配置Git提交身份
  run: |
    git config --global user.name "github-actions[bot]"
    git config --global user.email "github-actions[bot]@users.noreply.github.com"
  • 第三步:执行你的代码变更、提交、推送逻辑
- name: 提交变更并推送
  run: |
    git add .
    git commit -a -m "Update new version ${NEW_VERSION}"
    git push
  • 第四步:保留你原有的打标签逻辑即可,也可以直接用Git命令打标签推送,两种方式都不需要PAT
# 方式1:保留你原有github-script的打标签逻辑
- name: Create a tag with new version
  uses: actions/github-script@v3
  with:
    github-token: ${{ secrets.GITHUB_TOKEN }}
    script: |
      github.git.createRef({
        owner: context.repo.owner,
        repo: context.repo.repo,
        ref: "refs/tags/${{ env.NEW_VERSION }}",
        sha: context.sha
      })
# 方式2:直接用Git命令打标签推送,更简洁
- name: 打标签并推送
  run: |
    git tag ${{ env.NEW_VERSION }}
    git push origin ${{ env.NEW_VERSION }}

注意事项

  • 如果你使用的actions/checkout版本低于v3,需要在checkout步骤添加persist-credentials: true配置(默认就是true,一般不需要额外修改)
  • 不要修改Workflow的默认GITHUB_TOKEN作用域,上述配置已经覆盖所有需要的权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 17:15:06