@startdt/commitlint-config
如何使用
npm i @commitlint/cli @startdt/commitlint-config --save-dev
提示:如果你已经全局安装了 Commitizen
依赖,则可以通过命令行快速创建遵循约定的提交。请参看:使用 CLI 规范提交信息
使用配置文件:
module.exports = {
extends: '@startdt/commitlint-config',
formatter: '@startdt/commitlint-config/format',
rules: {
},
};
或者项目属性:
"commitlint": {
"extends": "@startdt/commitlint-config",
"formatter": "@startdt/commitlint-config/format",
"rules": {}
}
最后,在 package.json
中添加 commit-msg
钩子:
"gitHooks": {
"commit-msg": "commitlint -e"
},
执行 git commit
时,自动校验 commit message 是否符合提交约定,并给出相应的提示。
CLI 命令行工具
如果你已经全局安装了 Commitizen
依赖,则可以通过命令行快速创建遵循约定的提交。
在 package.json
中配置 commitizen
选项:
"config": {
"commitizen": {
"path": "./node_modules/@startdt/commitlint-config"
}
},
使用 git cz
替代 git commit
提交代码,即可通过交互式 CLI 快速创建遵循约定的提交。
如果你还没有安装 git cz
相关的依赖,我们提供了内置的 CLI 工具,可以在项目中使用 npm script
的方式调用:
{
"scripts": {
"commit": "git-commit"
}
}
执行 npm run commit
提交代码,即可通过交互式 CLI 快速创建遵循约定的提交。
提交指南
在 git commit
时提交信息遵循以下格式:
<type 类型>[optional scope 可选的作用域]: <description 描述>
[optional body 可选的正文]
[optional footer 可选的脚注]
type【必填】
用于说明 commit
的类型,只允许使用下面列举的标识:
init
: 初次提交代码feat
:新增功能特性fix
: 修复已知问题style
: 统一代码风格chore
: 更新非核心代码build
: 添加或更新构建test
: 添加或改进测试docs
: 添加或更新文档lang
: 国际化与本地化revert
: 撤销之前的提交refactor
: 重构现有代码example
:更新示例代码release
: 发布版本标签
scope【可选】
用于说明 commit
影响的范围,比如数据层、控制层、视图层等,视项目不同而不同。
如果你的修改影响了不止一个 scope,你可以使用 *
代替。
subject【必填】
subject 是 commit
目的的简短描述(默认最大长度不超过 72 个字符)。
注意事项:
- 以动词开头,使用第一人称现在时,比如 change,而不是 changed 或 changes
- 英文统一使用小写体
- 结尾不加句号(
.
)
Body【可选】
Body 部分是对本次 commit
的详细描述,默认可选。
注意事项:
- 较长内容无需手动换行
- 本次提交含有 非兼容性 更新时,必填填写详细说明
- 应该说明代码变更的动机,以及与之前行为的对比
Footer 部分只用于以下两种情况: