如果分支的提交信息符合某些特定的标准,防止将其合并到主分支

4
我们使用Bitbucket Server作为我们的源代码库。如果可以使用原始Git钩子解决问题,我不确定这是否相关。
我们有当前的工作流程:
开发人员提交到分支,创建一个拉取请求。评审人员回复代码反馈,开发人员根据反馈进行“修复”提交,这些提交最终将在分支获得批准后被重新基于。这使得评审人员可以单击提交并查看原始PR(他们已经审核)和基于反馈更改的差异。为了方便评审人员区分,所有修复提交都具有其提交消息中的前缀“FIXUP”。
这个工作流程对我们非常有效,但是有时候开发人员会忘记将修复提交合并到他们的分支中,结果我们的主分支上有一堆标题为FIXUP:...的提交消息。
可能写一个钩子来防止将带有特定字符串开头的消息的提交合并到主分支上吗?此外,这也可能在Bitbucket的UI中明显显示吗?

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


可以编写这样的钩子。但是,你能否在Bitbucket(或任何其他托管站点)上运行它们则完全是另一回事,我不知道答案。 - torek
Bitbucket的Web钩子在这里描述,https://confluence.atlassian.com/bitbucket/manage-webhooks-735643732.html。应该是可能的。这正是这些钩子的确切用途。 - David Neiss
1个回答

1
您可以使用(商业)Script Runner add-on 实现在 Bitbucket 服务器上运行的自定义预挂钩。
它内置了许多 "pre-receive hook" 脚本,当某人推送时将在 Bitbucket 上执行,根据结果接受或拒绝推送,并向执行推送的人发送描述可能问题的消息。您还可以使用 Groovy 实现自己的 "pre-receive hook" 脚本
我们已经在自己的脚本中实现了一堆自定义逻辑,所以肯定可以获得您想要的行为。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接