1. 说明
本文主要介绍使用 git commit 提交代码时如何书写 message,及 message 对应规范,需严格遵循 message 规范。
2. message 提交格式
在执行 git add 后,执行 git commit 时,代码有变动,并需要特殊说明更改内容时,message 信息遵循下方定义的格式。(如没有特殊更改及说明可以使用:git commit -m <message> 提交代码)
message 格式
<type>(<scope>): <subject>
<!-- 空行 -->
<body>
<!-- 空行 -->
<footer>
| 字段 | 必须 | 说明 |
|---|---|---|
*<type>
|
是 | 提交类别 |
<scope> |
否 | 用于说明 commit 影响的范围,建议填写影响的功能模块 |
*<subject>
|
是 | commit 目的的简短描述,不超过50个字符 |
<body> |
否(建议填写) | 描述当前修改的行为详细信息或修改的目的。 |
<footer> |
否 | 一般用于描述BREAKING CHANGE,在项目开发中一般不需要填写,组件研发的工程需要填写。 |
2.1 *<type> 提交类别
必填,<type> 在 commit 的 message 中是必须存在的。<type>可以有以下取值
| 值 | 说明 |
|---|---|
| feat | 添加新特性 |
| fix | 修复bug |
| docs | 仅仅修改了文档 |
| style | 仅仅修改了空格、格式缩进、逗号等等,不改变代码逻辑 |
| refactor | 代码重构,没有添加新功能或者修复bug |
| test | 增加测试用例 |
| chore | 改变构建流程、或者增加依赖库、工具等 |
| revert | 回滚到上一个版本 |
2.2 <scope> 影响范围
非必填(建议填写),<scope> 用于说明 commit 影响的范围,建议填写影响的功能模块。
如果修改影响不止一个 scope,可以使用 * 代替
2.3 *<subject> 简短描述
必填,commit 目的的简短描述,不超过50个字符
- 以动词开头,使用第一人称现在时,比如
change,而不是changed或changes - 第一个字母小写
- 结尾不加句号
2.4 <body> 详细信息
非必填(建议填写),可描述当前修改的行为详细信息或修改的目的
2.5 <footer> 其他信息
非必填,一般用于描述BREAKING CHANGE,在项目开发中一般不需要填写,组件研发的工程需要填写。
格式:以BREAKING CHANGE开头,后面是对变动的描述,以及变动理由和迁移方法。
3. 提交方式
本质上是改变文件 .git/COMMIT_EDITMSG 中的文本,实际提交过程如下(推荐命令行提交)
feat(网盘):添加文件上传接口
- 添加批量文件上传
- 添加生成文件临时下载地址
3.1 命令行提交
Window
window 系统下默认 git 编辑工具是 vim,如无相关基础,建议使用 window 默认的文本编辑器(vim 使用方法)
修改 git 默认文本编辑器(cmd/PowerShell 命令行中执行)
git config core.editor notepad
修改后执行 git commit 会弹出文本编辑器。
热后保存并关闭,或执行如下信息:
Linux/Unix
参考: vim 使用方法
Mac
参考:vim 使用方法
3.2 GUI 提交
IEDA

image.png