git – 如果branch已提交某些条件的消息,则阻止合并为master

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

我们有当前的工作流程:

开发人员提交分支,创建拉取请求.审核人员回复代码反馈,开发人员根据反馈进行“修复”提交,最终在分支批准后将重新定位.这允许审阅者单击提交并查看原始pr(他们已经审阅过)与基于反馈的更改之间的差异.为了便于审阅者区分,修复提交在提交消息中都有前缀’FIXUP’.

这个工作流程对我们来说非常有用,但是有时开发人员会忘记将fixup提交重新绑定到他们的分支中,最后我们的主分支有一堆标题为FIXUP的提交消息:…

是否有可能编写一个钩子来阻止合并到哪里有提交消息以某个字符串开头?另外,是否有可能在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,当有人进行推送时将在Bitbucket上执行,并且根据结果推送被接受或拒绝,执行推送的人获得描述可能问题的消息.您也可以实现自己的“pre-receive hook” scripts in Groovy.

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

点赞