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

GitHub Action绑定release触发时执行git push出现detached HEAD错误如何解决

错误原因

当工作流由release: [created]事件触发时,actions/checkout默认会拉取你创建Release时选中的标签对应的提交快照,而非默认分支的最新代码,此时git处于*detached HEAD(游离头)*状态,没有绑定任何本地分支,直接执行git push时git无法确定要推送的目标远程分支,就会抛出你遇到的报错。

修复方案

你可以按以下步骤调整配置即可解决问题:

  • 给checkout步骤指定拉取的目标分支,建议直接使用GitHub Release事件内置的target_commitish变量,动态读取你创建Release时选择的目标分支,不需要写死分支名
  • 给工作流配置代码写入权限,避免默认的GITHUB_TOKEN没有推送权限
  • push时明确指定目标分支,避免歧义

调整后的完整工作流配置如下:

name: Publish package to GitHub Repository
on:
  release:
    types: [created]

# 配置GITHUB_TOKEN的权限,允许推送代码到仓库
permissions:
  contents: write
  packages: write # 推送到GitHub Packages需要该权限,不需要可删除

jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
      - name: Check out Git repository
        uses: actions/checkout@v2
        with:
          fetch-depth: '0'
          # 动态读取创建Release时选择的目标分支,而非拉取标签对应的游离提交
          ref: ${{ github.event.release.target_commitish }}
      - name: Install Java and Maven
        uses: actions/setup-java@v1
        with:
          java-version: 11
      - name: Update version in pom.xml (Release only)
        run: mvn -B versions:set -DnewVersion=${{ github.event.release.tag_name }} -DgenerateBackupPoms=false
      - name: Commit and push changes to pom.
        run: |
          git config --global user.name "GitHub Actions"
          git config --global user.email "no-reply@example.com"
          git add pom.xml
          git commit -m "Bumped version to ${{ github.event.release.tag_name }}"
          # 明确指定推送到对应的目标分支
          git push origin ${{ github.event.release.target_commitish }}
      - name: Deploy to Github Package Registry
        env:
          GITHUB_USERNAME: ${{ github.actor }}
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: mvn --settings settings.xml --file pom.xml deploy

如果你确定所有Release都是基于默认分支创建的,也可以直接把上面的${{ github.event.release.target_commitish }}替换成你的默认分支名(比如main/master)即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 14:54:04