husky:一个为git客户端增加hook的工具
lint-staged:仅对Git 代码暂存区文件进行处理,配合husky使用
@commitlint/cli:让commit信息规范化
1、创建git仓库
git init
2、安装
//目前husky为8.0.3版本
yarn add husky -D
yarn add lint-staged -D
yarn add @commitlint/cli @commitlint/config-conventional -D
3、运行
//生成 .husky 的文件夹
npx husky install
// 添加 hooks,会在 .husky 目录下生成一个 pre-commit 脚本文件
npx husky add .husky/pre-commit "npx --no-install lint-staged"
// 添加 commit-msg
npx husky add .husky/commit-msg 'npx --no-install commitlint --edit "$1"'
4、修改package.json
"lint-staged": {
"src/**/*.{vue,js,jsx,ts,tsx,json}": [
"yarn run lint",
"prettier --write"
]
}
5、新建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提交 |