git提交也有规范,看下鹅厂是怎么做的

臻大虾 -
git提交也有规范,看下鹅厂是怎么做的
一、目的

无规矩不成方圆,当查看git提交历史的时候,发现每个人git的提交记录都有自己的风格和习惯,并没有一套完整的规范,不利于阅读和维护。所以需要一套git提交规范,使得提交记录清晰明了,让人一看就能知道此次提交的目的。

二、业界比较认可和常用的规范

AngularJS是目前使用最广的一种规范,比较合理和系统,也有相应的工具和插件支持。图片

规范结构:

三部分组成:header(关键)、body(可省略)、footer(可省略)

建议这三个部分,每个部分的字符都不要超过100字符,避免自动换行影响美观

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

记录主要的修改类型和内容

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

1.1、type

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

feat:提交新的功能,记忆:featurefix:解决了bugdocs:修改的是文档相关的内容,记忆:documentationstyle:格式修改,没有修改代码逻辑,比如格式化、换行等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后端技术干货,每天进步一点点

特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

Tags 标签

gitjavaidea规范化commit

扩展阅读

加个好友,技术交流

1628738909466805.jpg