规范git提交日志

文章目录

  • 一、配置commitlint
      • 1.安装依赖
      • 2.创建 commitlint.config.js 文件
  • 二、配置husky
      • 1.安装依赖
      • 2.在 `package.json`中添加命令
      • 3.在`commit-msg`中校验`commitlint`
      • 4. 在`pre-commit`中检验` ESLint`
      • 5.在`commit-msg`中配置`elint`自动修复


一、配置commitlint

1.安装依赖

npm install --D @commitlint/cli @commitlint/config-conventional 

2.创建 commitlint.config.js 文件

module.exports = {
  extends: ['@commitlint/config-conventional'],
  rules: {
    // type 类型定义,表示 git 提交的 type 必须在以下类型范围内
    'type-enum': [
      2,
      'always',
      [
        'feat', // 新功能
        'fix', //  修复
        'docs', // 文档变更
        'style', // 代码格式(不影响代码运行的变动)
        'refactor', // 重构(既不是增加feature),也不是修复bug
        'pref', // 性能优化
        'test', // 增加测试
        'chore', // 构建过程或辅助工具的变动
        'revert', // 回退
        'build' // 打包
      ]
    ],
    // subject 大小写不做校验
    'subject-case': [0]
  }
}

二、配置husky

1.安装依赖

npm install --D husky 

2.在 package.json中添加命令

{
	"scripts": {
		"prepare": "husky install"
	}
}

第一次需要手动触发npm run prepare

3.在commit-msg中校验commitlint

npx husky add .husky/commit-msg 'npx --no-install commitlint --edit "$1"'

4. 在pre-commit中检验 ESLint

npx husky add .husky/pre-commit "npx eslint --ext .js,.ts,.vue src"

5.在commit-msg中配置elint自动修复

  • 安装lint-staged
npm install --D lint-staged
  • 配置package.json
"lint-staged": {
 "src/**/*.{js,ts,vue}": [
   "eslint --fix",
   "git add ."
 ]
}
  • 配置 .husky/pre-commit 文件
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx lint-staged

你可能感兴趣的:(git)