在git中实施提交消息格式

时间:2016-06-08 17:57:40

标签: git pre-commit-hook

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

2 个答案:

答案 0 :(得分:3)

如Git ProBook&#34; Customizing Git - An Example Git-Enforced Policy&#34;中所述,此类强制执行将通过 hook 设置,更具体地说,是服务器端 m <-matrix(0, nrow = 14, ncol= 14) for(path in 1:length(p)){ path <- 1 verticesofPath <- as.integer(p[[path]]) for (i in 2:length(verticesofPath)){ m[verticesofPath[1], verticesofPath[i]] <- m[verticesofPath[1], verticesofPath[i]] + 1 } } 一样挂钩:

  

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

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

这比客户端钩子(谎言update一个)更受欢迎:

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

对于给定的仓库,服务器端钩子会在您的策略未得到遵守时通过拒绝git push来强制执行您想要的任何规则。

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

如果您没有,则返回客户端预提交挂钩,可以通过git模板设置whose template directory can be shared amongst all users (starting with git 2.9, June 2016)

答案 1 :(得分:3)

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

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

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