【问题标题】:Github: enforce source branch in a pull requestGithub:在拉取请求中强制执行源分支
【发布时间】:2022-01-17 18:27:53
【问题描述】:

我正在尝试在 git(hub) 中强制执行“分支流”:

  1. 可以(通过 PR)将功能分支合并到分支 acceptance,然后将其部署到验收环境中。
  2. 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@分公司。

标签: git github


【解决方案1】:

我做了同样的问题,得到了same answer。您需要在 pull_request 事件的 CICD 管道上设置此检查。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-30
    • 2020-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多