GitHub操作:如何定位除主分支机构以外的所有分支机构?

waxmsbnn  于 2023-03-28  发布在  Git
关注(0)|答案(2)|浏览(152)

我希望能够让一个动作在除master之外的任何给定分支上运行。我知道有一个预构建的filter动作,但我希望完全相反。
更像是GitLab的except关键字。由于这不在官方文档中,有人准备了一个不错的解决方案吗?
非常感谢。

rm5edbpk

rm5edbpk1#

更新Samy's answer中描述了一个更新的过滤器,它提供了一种更简洁的实现方式。

文档现已更新,包含更多信息:
当您指定branchestags过滤器时,只有当至少有一个模式匹配时,工作流才会运行。对与定义的模式不匹配的分支或标签的任何更改都不会触发工作流。定义模式的顺序很重要:

  • 在一个正匹配之后的一个匹配负模式将再次排除参考。
  • 负匹配之后的匹配正模式将再次包括ref。

因此,为了排除master,您需要确保首先包含匹配所有内容的模式:

on:
  push:
    branches:    
      - '*'         # matches every branch that doesn't contain a '/'
      - '*/*'       # matches every branch containing a single '/'
      - '**'        # matches every branch
      - '!master'   # excludes master
rnmwe5a2

rnmwe5a22#

现在有一个branches-ignore选项:

on:
  push:
    branches-ignore:
      - master

不能在同一工作流中使用branches-ignorebranches

相关问题