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

Github Actions分支匹配异常:**/ci-*触发非预期分支

GitHub Workflow分支匹配触发问题解析

这不是Bug,是你对GitHub的glob分支匹配规则理解有误。

核心匹配规则说明

GitHub Workflow使用glob模式匹配分支名,关键规则:

  • *:匹配任意非 / 的字符序列(仅匹配单个路径段内的内容)
  • **:匹配任意字符序列(包括 /),可跨多个路径段匹配

你的模式 **/ci-* 的实际作用

你预期该模式仅匹配包含 /ci- 子串的分支,但实际上它会匹配**所有分支名中包含 ci- 子串,且 ci- 前存在任意字符(包括 /)**的分支。

原因是 ** 会匹配 ci- 之前的所有字符(包括 /),模式中的 / 被 ** 覆盖匹配,后续的 ci-* 直接匹配分支名里的 ci- 及后续内容,导致你的分支 mjd/try-claude-in-ci-20251216 因为包含 ci- 子串而被触发。

实现预期需求的正确模式

如果你想要仅匹配**ci- 紧跟在 / 之后**的分支(即分支名包含 /ci- 子串),需要使用精确匹配模式:

on:
  push:
    branches: ['*/ci-*', '**/*/ci-*']

这个模式会匹配如 feature/ci-fix、bugfix/urgent/ci-update 这类分支,而不会匹配 mjd/try-claude-in-ci-20251216 这类 ci- 不在 / 之后的分支。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 21:14:51