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

GitHub Actions:推送Feature分支时main.yml的pull_request触发器意外触发

问题原因与解决办法

触发原因

main.yml 中的 pull_request 触发器配置里,branches: [main] 定义的是拉取请求(PR)的目标分支为main,而非PR的源分支。

如果你已经基于 feature/NN-my-feature 分支发起了一个针对 main 分支的PR,那么当你向这个feature分支推送代码时,会触发PR的 synchronize 事件(你的main.yml正好包含该事件类型),因此main.yml的工作流会被触发。

解决建议

如果不想让main.yml在推送feature分支代码时被触发,可以选择以下方式:

  • 检查是否存在未关闭的、目标分支为main且关联该feature分支的PR,若无需保留可直接关闭该PR。
  • 调整main.yml的触发器逻辑,比如在工作流中添加条件判断,限制仅特定源分支的PR触发:
name: Build Main
on:
  push:
    branches: main
  pull_request:
    branches:
      - main
    types: [opened, synchronize, reopened, labeled]

jobs:
  build:
    # 仅当PR的源分支以main/开头时才执行(可根据实际需求修改条件)
    if: startsWith(github.head_ref, 'main/')
    runs-on: ubuntu-latest
    steps:
      # 你的工作流步骤

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 04:10:28