一、目标

无规矩不成方圆,当查看git提交历史的时候,发现每个人git的提交记录都有本人的格调和习惯,并没有一套残缺的标准,不利于浏览和保护。所以须要一套git提交标准,使得提交记录清晰明了,让人一看就能晓得此次提交的目标。

二、业界比拟认可和罕用的标准

AngularJS是目前应用最广的一种标准,比拟正当和零碎,也有相应的工具和插件反对。

标准构造:

三局部组成:header(要害)、body(可省略)、footer(可省略)

倡议这三个局部,每个局部的字符都不要超过100字符,防止主动换行影响好看

// 头header<type>(<scope>): <subject> // 空一行<body>// 空一行<footer>

1、header(要害)

记录次要的批改类型和内容

由三个局部组合:type(必填)、scope(可选)、subject(必填)

1.1、type

必填,message的类型,有以下几种罕用的类型

  • feat:提交新的性能,记忆:feature
  • fix:解决了bug
  • docs:批改的是文档相干的内容,记忆:documentation
  • style:格局批改,没有批改代码逻辑,比方格式化、换行等
  • refactor:重构代码,既没有新增性能,也没有修复bug,比方提取某段代码为一个办法、重构某个性能
  • perf:性能、体验优化等,记忆:performance性能
  • test:新增test用例或批改现有测试用例
  • chore:构建过程或辅助工具的变动,非src和test的批改,比方构建流程, 依赖治理等

当同时有feat、fix和其余类型时,类型取feat、fix。

1.2、scope

非必填,用于阐明此次提交影响的范畴,比方数据层、管制层、视图层等

1.3、subject

必填,此次提交的简短形容

  • 动词结尾,第一人称当初时,比方add,而不必added、adds
  • 第一个字母小写
  • 句尾不加句号(.)

2、body(可省略)

具体的形容,可多行,与header之间空一行

3、footer(可省略)

footer只用于以下两种状况

  • 不兼容变动

以BREAKING CHANGE结尾,前面是变动的形容、变动的理由以及迁徙的办法

什么叫不兼容变动,比方用户明码的加密形式产生扭转

  • 敞开issue

以后提交批改了某个issue

整体的git message如下

feature(数据层): 简短形容详细描述BREAKING CHANGE: 不兼容变动Closes 敞开issue

三、idea插件

晓得了提交的标准,然而常常记不住格局怎么办?

这时弱小的idea插件Git Commit Message Helper,真香

1、装置

在settings->plugins,搜寻Git Commit Message Helper,点击install并重启即可

2、应用

在git提交页面,点击create commit message按钮,弹出如下窗口,编辑之后,点击ok

在以下弹窗输出信息

提交的message如下


关注公众号:臻大虾,分享java后端技术干货,每天提高一点点