配置 husky、lint-staged、@commitlint/cli
husky:一个为git客户端增加hook的工具lint-staged:仅对Git 代码暂存区文件进行处理,配合husky使用@commitlint/cli:让commit信息规范化
1. 创建git仓库
git init2. 安装
yarn add husky@9.1.3 -D
yarn add lint-staged@^15.2.7 -D
yarn add @commitlint/cli@^19.3.0 -D
yarn add @commitlint/config-conventional@^19.2.2 -D3. 生成 .husky 的文件夹
npx husky install4. 修改.husky/pre-commit
#!/usr/bin/env sh
npx --no-install lint-staged5. 修改.husky/commit-msg
#!/usr/bin/env sh
npx --no-install commitlint --edit $16. 修改package.json
"lint-staged": {
"src/**/*.{js,ts,vue}": [
"yarn run lint",
"prettier --write"
]
}7. 新建commitlint.config.cjs
提示:由于package.json的"type": "module",需将commonjs文件显示声明为.cjs
module.exports = {
extends: ['@commitlint/config-conventional'],
};提交格式:
git commit -m <type>[optional scope]: <description> //注意冒号后面有空格
- type:提交的类型(如新增、修改、更新等)
- optional scope:涉及的模块,可选
- description:任务描述type类型:
| 类别 | 含义 |
|---|---|
| feat | 新功能 |
| fix | 修复 bug |
| style | 样式修改(UI校验) |
| docs | 文档更新 |
| refactor | 重构代码(既没有新增功能,也没有修复 bug) |
| perf | 优化相关,比如提升性能、体验 |
| test | 增加测试,包括单元测试、集成测试等 |
| build | 构建系统或外部依赖项的更改 |
| ci | 自动化流程配置或脚本修改 |
| revert | 回退某个commit提交 |
8. 示范(非规范提交,将提交失败)
git commit -m 'feat: 增加 xxx 功能'
git commit -m 'bug: 修复 xxx 功能'