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