概述
Git commit message规范是一种良好的实践,可以帮助开发团队更好地理解和维护代码库的历史记录。它可以提高代码质量、可读性和可维护性。下面是一种常见的Git commit message规范,通常被称为"Conventional Commits"规范:
一、Commit message 的格式
每次提交,Commit message 都包括三个部分:Header
,Body
和 Footer
。
<type>(<scope>): <subject>
// 空一行
<body>
其中,Header、针对feat和fix类型的提交内容 Body 是必需的。 不管是哪一个部分,任何一行都不得超过72个字符(或100个字符)。这是为了避免自动换行影响美观。
1.1 Header
Header部分只有一行,包括三个字段: type
(必需)、scope
(必需)和subject
(必需)。
(1)type
type
用于说明 commit
的类别,只允许使用下面7个标识。
feat
:新功能(feature)fix
:修补bugdocs
:文档(documentation)style
: 代码样式的变更(例如,格式化)(不影响代码运行的变动)refactor
:重构(即不是新增功能,也不是修改bug的代码变动)test
:添加或修改测试build
:构建过程或辅助工具的变动
补充:
chore
: 构建工具、辅助工具或其他无关紧要的任务perf
: 改进性能的代码更改revert
: 撤销以前的提交
(2)scope
scope
用于说明 commit
影响的范围,比如指标模板、规则上下线等等,视项目不同而不同。
(3)subject
subject
是 commit
目的的简短描述,不超过50个字符。
- 以动词开头,使用第一人称现在时,比如change,而不是changed或changes
- 第一个字母小写
- 结尾不加句号(.)
1.2 Body
Body
部分是对本次 commit
的详细描述,可以分成多行。
- 需要简要的列出各种正向或者反向的测试场景,测试通过,填pass。
- 关闭的Issue(References) (可选): 如果此提交与某个问题(Issue)相关联,可以在提交消息中引用该问题。例如,
Fixes #123
或Closes #456
。 - 增加修改人信息
二、例子
2.1 feat例子
feat(规则上下线、构建、生效、仿真生效): 添加规则上下线功能
1. 规则上下线主流程,引擎正常订阅,fldl生成正常。 pass
2. 规则上下线,传入不存在的规则编号,异常提示。 pass
提交人:xxx
2.2 fix例子
fix(模型模块): 模型测试失败
1. 导入mar模型,包含衍生字段。 pass
2. 导入mar模型,不包含衍生字段。 pass
提交人:xxx
2.3 关闭的Issue例子
feat(auth): add user authentication feature
- Implemented user login and registration
- Added user profile page
- Fixes #123, Closes #456
提交人:xxx
使用这种规范的好处在于,它使提交消息更加一致和易于搜索。同时,它还允许自动化工具从提交消息中提取信息,如生成发布日志或自动化版本号管理。
插件推荐
idea可以安装代码提交规范的插件。
1、安装插件
2、提交时选择插件提交
参考
Git Commit Message规范
https://blog.csdn.net/LBWNB_Java/article/details/126776372