在git中实施提交消息格式

Ram*_*ams 12 git pre-commit-hook

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

Von*_*onC 6

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

所有服务器端工作都将进入updatehooks 目录中的文件。在update每个分支一旦挂钩会被推动和有三个参数:

  • 被推送到的引用的名称
  • 该分支所在的旧版本
  • 新版本正在推送

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

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

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

这假设您可以控制用户推送到的远程存储库托管服务器。

如果不这样做,您将回到客户端预提交钩子,它可以通过 git 模板设置,其模板目录可以在所有用户之间共享(从 gi​​t 2.9 开始,2016 年 6 月)