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

如何配置GitHub Action工作流以排除Master分支的推送触发

如何配置GitHub Action工作流排除Master分支触发

嘿,这个需求很好实现,GitHub Actions的工作流触发规则里刚好有分支过滤的功能,给你两种靠谱的配置方式:

方法一:使用branches-ignore直接排除目标分支

这是最直观的写法,直接指定要忽略的分支:

name: 你的工作流名称
on:
  push:
    branches-ignore:
      - 'master'  # 推送到master分支时不触发

这个配置会让工作流在推送到除了master之外的所有分支时自动运行,简单明了。

方法二:使用branches配合否定模式

如果你需要同时包含某些分支再排除特定分支,这种模式更灵活。语法是先写要包含的分支(用*表示所有),再用!前缀排除目标分支:

name: 你的工作流名称
on:
  push:
    branches:
      - '*'       # 匹配所有分支
      - '!master' # 排除master分支

⚠️ 注意:否定规则必须放在肯定规则后面,因为GitHub会按顺序匹配分支,先匹配到的规则生效。如果后续还有其他要排除的分支,直接追加!other-branch即可。

额外注意事项

  • 分支名是大小写敏感的,如果你的默认分支是main而不是master,记得对应修改分支名;
  • 如果只想针对分支推送触发(排除标签推送),可以加上tags-ignore: ['*'],避免推送标签时误触发工作流;
  • 如果你有更复杂的分支匹配需求(比如匹配前缀为feature/的分支同时排除master),可以结合通配符和否定模式,比如:
    branches:
      - 'feature/**'
      - 'bugfix/**'
      - '!master'
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 00:12:27