共计 1243 个字符,预计需要花费 4 分钟才能阅读完成。
一、目标
无规矩不成方圆,当查看 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 后端技术干货,每天提高一点点