在GIT中添加强制提交消息格式



我想在GIT中进行配置,强制所有提交消息遵循特定模式。我该怎么做?

编辑:我想要它用于Github。

最好的方法是设置一个CI作业,检查提交消息并验证它们是否为您想要的格式。在某些环境中,也可以使用pre-receive挂钩,尽管这在github.com上是不可能的(但它在github Enterprise Server上(。

这个命令看起来像这样:

#!/bin/sh
git rev-list $1 | 
xargs -L1 sh -c 'git log --format=%B -1 $0 | grep -qs Signed-off-by'

在我的例子中,我在分支上向命令传递一系列提交(即,以BASE..HEAD的形式(,我的检查是验证每个提交是否包含文本Signed-off-by。您可以将grep命令替换为任何您喜欢的命令,前提是如果提交消息可接受,它将退出0,如果不可接受,则退出非零。然后,脚本本身将在成功时退出0,如果提交不可接受,则退出非零,然后您可以拒绝提交。

您可能希望通过使用类似的技术为开发人员提供commit-msg钩子来帮助他们。然而,正如Git常见问题解答中所述,强制性的客户端挂钩既无效,因为开发人员可以在没有人注意到的情况下绕过它们,也会让一些高级开发人员感到恼火,所以你应该让他们选择那些想要它们的人。

相关内容

  • 没有找到相关文章

最新更新