如果分支提交了具有特定条件的消息,则防止合并到 master

Prevent merge to master if branch has commits with messages of certain criteria

我们使用 bitbucket 服务器作为我们的源存储库。如果可以用香草 git 钩子解决,我不确定这是否与此相关。

我们有当前的工作流程:

开发人员提交一个分支,创建一个拉取请求。审阅者回复代码反馈,开发人员继续根据反馈进行 'fix' 提交,最终将在分支获得批准后重新定位。这允许审阅者单击提交并查看原始 pr(他们已经审阅过)和基于反馈的更改之间的差异。为了让审阅者更容易区分uish,修复提交在他们的提交消息中都有前缀'FIXUP'。

这个工作流程对我们来说非常有效,但是有时开发人员会忘记将修复提交重新设置到他们的分支中,我们以我们的主分支结束,有一堆标题为 FIXUP 的提交消息:...

是否可以编写一个钩子来防止合并到 master 那里有以特定字符串开头的消息的提交?此外,是否也可以在 bitbucket 的 ui?

中体现这一点?

编辑:在 GlennV 的回答和 git hook: ensure each merge into the master has a message also the automatic merges 之间,我想我可以开始工作了,谢谢大家!

您可以使用(商业)Script Runner add-on.

在 Bitbucket 服务器上实现自定义预挂钩 运行

它有多个"pre-receive hook" scripts built-in that will be executed on Bitbucket when someone does a push and depending on the outcome the push is accepted or rejected and the person who executes the push gets a message describing possible problems. You can also implement your own "pre-receive hook" scripts in Groovy

我们在自己的脚本中实现了一堆自定义逻辑,因此绝对有可能获得您正在寻找的行为。