TATEN Commit 信息规范
简述
提交信息应该用以下格式填写:
plain
<类型>[可选 范围]: <简介>
[可选 详细内容]
[可选 脚注]该提交包含以下元素,旨在向库的使用者传达意图:
fix:类型为fix的提交会修复代码库中的错误feat:类型为feat的提交会向代码库引入新功能perf:类型为perf的提交会提高代码库的性能refactor:类型为refactor的提交会重构代码库的代码,但不添加新功能或修复错误docs:类型为docs的提交会改变文档test:类型为test的提交会改变测试代码style:类型为style的提交会改变代码库的样式,如空格、分号、逗号等chore:类型为chore的提交会改变构建过程或辅助工具build:类型为build的提交会改变构建系统或依赖项ci:类型为ci的提交会改变 CI 配置或脚本revert:类型为revert的提交会撤销之前的提交release:类型为release的提交是发布新版本的提交BREAKING CHANGE: 带有BREAKING CHANGE结尾或在类型或作用域后附加!的提交会引入重大 API/ABI 变更- 除了
BREAKING CHANGE外,还可以提供其他页脚,如fix #1919810等
提交规范并未强制要求添加其他类型。 同时您可以为提交类型指定作用域,用于提供额外的上下文信息,作用域应包含在括号内,例如:feat(parser): 添加解析数组的功能
详细说明
- 提交必须以类型作为前缀,类型由名词
feat、fix等组成,后跟可选的作用域、可选的感叹号!以及必需的终止冒号和空格 - 当提交操作向应用程序或库添加新功能时,必须使用类型
feat - 当提交代表修复应用程序中的错误时,必须使用类型
fix - 当提交代表提高应用程序的性能时,必须使用类型
perf - 当提交代表重构应用程序的代码时,必须使用类型
refactor - 当提交代表改变文档时,必须使用类型
docs - 当提交代表改变测试代码时,必须使用类型
test - 当提交代表改变代码库的样式时,必须使用类型
style - 当提交代表改变构建过程或辅助工具时,必须使用类型
chore - 当提交代表改变构建系统或依赖项时,必须使用类型
build - 当提交代表改变 CI 配置或脚本时,必须使用类型
ci - 当提交代表撤销之前的提交时,必须使用类型
revert - 当提交代表发布新版本时,必须使用类型
release - 当提交代表引入重大 API/ABI 变更时,必须使用类型
BREAKING CHANGE - 类型之后可以指定作用域。作用域必须由一个名词组成,该名词描述代码库中的某个部分,并用括号括起来,例如:
fix(parser) - 类型/作用域前缀后的冒号和空格后必须紧跟描述。描述是对代码更改的简短总结,例如:
fix: 字符串中包含多个空格时数组解析出现的问题 - 在简短的提交描述之后,可以提供更长的提交正文,提供有关代码更改的更多上下文信息。提交详细内容必须在提交描述之后空一行开始
- 提交详细内容是自由格式的,可以由任意数量的以换行符分隔的段落组成。
- 页脚标记必须使用连字符
-代替空格字符,例如Acked-by(这有助于将页脚部分与多段落正文区分开来)。但BREAKING CHANGE除外,它也可以用作标记。 - 页脚的值可以包含空格和换行符,解析必须在遇到下一个有效的页脚标记/分隔符对时终止。
- 必须在提交的类型/范围前缀中注明重大变更,或者在页脚中注明
- 构成常规提交的信息单元必须由实施者区分大小写,但
BREAKING CHANGE必须大写。
示例
包含描述和重大变更页脚的提交消息
plain
feat: 允许配置对象继承其他配置对象
BREAKING CHANGE: 配置文件中 `extends` 键现在被用于继承其他配置文件使用感叹号 ! 提交信息,以引起对重大变更的注意
plain
feat!: 在商品开始运输时向用户发送邮件提交信息,但内容为空
plain
style: 添加缺失的分号提交消息及范围
plain
fix(parser): 添加解析数组的功能包含多段正文和多个页脚的提交消息
plain
fix: 防止请求竞态
引入请求 ID 和对最新请求的引用。同时忽略除最新请求之外的所有传入响应。
移除之前用于缓解竞态条件但现已过时的超时机制。
审阅: XinHallow
引用: #114514此提交规范由 Conventional Commits 衍生