在git中实施提交消息格式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在git中实施提交消息格式相关的知识,希望对你有一定的参考价值。

我怎样才能在git中强制执行提交消息格式。可以将其设置在存储库级别,以便创建分支的每个人都可以执行此操作。

答案

正如Git ProBook“Customizing Git - An Example Git-Enforced Policy”中所描述的那样,这样的强制执行将通过一个钩子来设置,更具体地说,是像update那样的服务器端钩子:

所有服务器端的工作都将进入hooks目录中的update文件。每个分支被推送时update钩子运行一次,并带有三个参数:

  • 要推送的引用的名称
  • 该分支所在的旧版本
  • 推出了新的修订版

这比客户端钩子(如pre-commit)更受欢迎:

  • 必须由每个用户手动设置
  • 可以被绕过

对于给定的存储库,服务器端挂钩将通过拒绝git push来强制执行您想要的任何规则(如果您的策略未得到遵守)。

这假设您可以控制用户正在推送的远程repo托管服务器。

如果不这样做,则返回客户端预提交挂钩,可以通过git模板whose template directory can be shared amongst all users (starting with git 2.9, June 2016)进行设置。

另一答案

服务器端Git挂钩是您的解决方案,但也有设置和维护挂钩(通常也是服务器)的开销。

如果您正在寻找SaaS解决方案(用于服务器端Git挂钩) - 这正是Datree *可以为您做的。

*免责声明:我是@ Datree的联合创始人兼产品负责人,但作为一名活跃的开源贡献者,我非常精通这种痛苦。我还写了一篇关于这个问题的博客文章 - How to Get More Out of Your Git Commit Message

以上是关于在git中实施提交消息格式的主要内容,如果未能解决你的问题,请参考以下文章

在 git 中强制提交消息格式

在 git 中强制执行提交消息格式

如何自定义 git rebase --interactive 提交消息的格式?

云构建触发器不应基于 git commit 消息创建 docker 映像

Flutter:使用谷歌身份验证在 Firebase 存储中实施任何身份验证失败

如何通过提交消息搜索 Git 存储库?