如果分支已提交具有特定条件的消息,则阻止合并为主

时间:2016-06-15 21:40:23

标签: git bitbucket git-merge githooks

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

我们拥有当前的工作流程:

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

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

是否有可能编写一个钩子来防止合并到哪里有提交消息以某个字符串开头?另外,是否有可能在bitbucket的ui中明白这一点?

编辑:在GlennV的回答和git hook: ensure each merge into the master has a message also the automatic merges之间我认为我可以得到一些工作,谢谢大家!

1 个答案:

答案 0 :(得分:1)

您可以使用(商业)Script Runner add-on实现将在Bitbucket服务器上运行的自定义预挂钩。

当有人进行推送时,它会在Bitbucket上执行一些"pre-receive hook" scripts内置执行,并且根据结果推送被接受或拒绝,并且执行推送的人会收到描述可能的消息问题。您还可以实现自己的"pre-receive hook" scripts in Groovy

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