无规矩不成方圆,当查看git提交历史的时候,发现每个人git的提交记录都有自己的风格和习惯,并没有一套完整的规范,不利于阅读和维护。所以需要一套git提交规范,使得提交记录清晰明了,让人一看就能知道此次提交的目的。
AngularJS是目前使用最广的一种规范,比较合理和系统,也有相应的工具和插件支持。
规范结构:
三部分组成:header(关键)、body(可省略)、footer(可省略)
建议这三个部分,每个部分的字符都不要超过100字符,避免自动换行影响美观
// 头header
<type>(<scope>): <subject>
// 空一行
<body>
// 空一行
<footer>
记录主要的修改类型和内容
由三个部分组合:type(必填)、scope(可选)、subject(必填)
必填,message的类型,有以下几种常用的类型
当同时有feat、fix和其他类型时,类型取feat、fix。
非必填,用于说明此次提交影响的范围,比如数据层、控制层、视图层等
必填,此次提交的简短描述
详细的描述,可多行,与header之间空一行
footer只用于以下两种情况
以BREAKING CHANGE开头,后面是变动的描述、变动的理由以及迁移的方法
什么叫不兼容变动,比如用户密码的加密方式发生改变
当前提交修改了某个issue
整体的git message如下
feature(数据层): 简短描述
详细描述
BREAKING CHANGE: 不兼容变动
Closes 关闭issue
知道了提交的规范,但是经常记不住格式怎么办?
这时强大的idea插件Git Commit Message Helper,真香
在settings->plugins,搜索Git Commit Message Helper,点击install并重启即可
在git提交页面,点击create commit message按钮,弹出如下窗口,编辑之后,点击ok
在以下弹窗输入信息
提交的message如下