【发布时间】:2022-01-17 18:27:53
【问题描述】:
我正在尝试在 git(hub) 中强制执行“分支流”:
- 可以(通过 PR)将功能分支合并到分支
acceptance,然后将其部署到验收环境中。 -
main的更新(部署在 prod 中)必须来自 PR(易于执行),但只能来自名为acceptance的分支。
这是我无法理清的第二条规则。
有办法吗?
【问题讨论】:
-
你可以设置一个自定义验证规则来完成 PR 到
main检查源分支。 -
自定义规则,例如在 webhook 中,还是 GitHub 提供的东西?我找不到任何关于自定义规则的参考。
-
老实说,我从来没有这样做过,但我认为可以推出自己的检查,几乎可以做任何你能想到的事情,甚至可能在 GitHub 之外。但是,您也可以利用require status checks to pass before merging。我认为这个想法是提交必须首先通过指定的状态检查,这可能就像“自动通过
acceptance分支上的所有提交”一样简单。 -
...续。一旦提交到达
acceptance,它就有资格被合并到main。 (如果我了解它是如何工作的;不过我从未使用过它。)这与您只能将acceptance合并到main中的情况不同,但它可以让您仅将之前合并到acceptance的提交合并到main。在某些方面,这可能比您要求的要好,因为它允许您在没有任何内容的情况下合并来自acceptance的某些内容,如果说,出于某种原因不需要acceptance上的某些内容。 -
我同意@TTT,这似乎是一个非常简单的 github 操作(仅在
main上运行,检查head分支是否为acceptance)+ 所需的状态检查 @ 987654338@分公司。