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

合并shuklsh-test-1分支PR后自动创建PR时报invalid refspec错误

问题原因与修复方案

你的报错invalid refspec ':refs/remotes/origin'主要源于两个核心配置问题:

1. 未完整拉取仓库分支与历史

默认的actions/checkout@v2采用浅克隆模式,仅拉取当前分支的最新提交,无法获取其他分支的引用信息,导致后续创建PR时无法识别目标分支shuklsh-test-2。

修复:在checkout步骤添加fetch-depth: 0,拉取完整仓库历史与所有分支:

- name: Checkout repo
  uses: actions/checkout@v2
  with:
    token: ${{ secrets.AUTO_COMMIT_BOT_PAT }}
    fetch-depth: 0  # 关键配置:获取完整仓库数据

2. create-pull-request参数使用错误

你误用了branch参数——该参数用于创建新分支时指定分支名;而你的需求是基于已存在的shuklsh-test-1分支向shuklsh-test-2发起PR,应该使用head参数指定源分支。

同时,if条件中的嵌套${{}}属于冗余写法,工作流表达式上下文已自动解析,无需额外包裹。

修复后的创建PR步骤:

- name: Create automated PR
  if: github.event_name == 'pull_request' && github.event.action == 'closed' && github.event.pull_request.merged == true && github.base_ref == 'shuklsh-test-1'
  uses: peter-evans/create-pull-request@v4
  with:
    token: ${{ secrets.AUTO_COMMIT_BOT_PAT }}
    title: ${{ github.event.pull_request.title }}
    body: ${{ github.event.pull_request.body }}
    base: shuklsh-test-2
    head: shuklsh-test-1  # 替换原branch参数,指定PR的源分支
    labels: Automated PR

额外注意事项

  • 建议将Workflow文件放在仓库默认分支(如main),确保PR合并到shuklsh-test-1时能正常触发Workflow;若仅放在shuklsh-test-1分支,需确认该分支的Workflow触发规则配置正确。
  • 验证AUTO_COMMIT_BOT_PAT权限:需拥有仓库的pull和push权限,确保能正常创建PR。

内容的提问来源于stack exchange,提问作者Darth.Vader

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 13:05:17