git commit 提交規范 & 規范校驗

Install commitlint


npm install --save-dev @commitlint/cli @commitlint/config-conventional

echo "module.exports = {extends: ['@commitlint/config-conventional']};" > commitlint.config.js

或者配置可以在被定義.commitlintrc.js,.commitlintrc.json或者.commitlintrc.yml文件或commitlint在字段package.json

例如在package.json中加入"commitlint": { "extends": [ "@commitlint/config-conventional" ], "rules": { "type-enum": [ 2, "always", [ "feat", "fix", "docs", "style", "refactor", "perf", "test", "build", "ci", "chore", "revert" ] ], "type-case": [ 2, "always", [ "lower-case" ] ], "type-empty": [ 2, "never" ], "scope-empty": [ 2, "never" ], "scope-case": [ 2, "always", [ "lower-case", "upper-case", "camel-case", "kebab-case", "pascal-case", "sentence-case", "snake-case", "start-case" ] ], "subject-case": [ 2, "always", [ "lower-case", "upper-case", "camel-case", "kebab-case", "pascal-case", "sentence-case", "snake-case", "start-case" ] ], "subject-empty": [ 2, "never" ], "subject-full-stop": [ 2, "never" ], "header-max-length": [ 2, "always", 72 ] } }

Install husky


npm install --save-dev husky

This allows us to add?git hooks?directly into our?package.json?via the?husky.hooks?field.

// package.json

"husky": {

????????"hooks": {

????????????"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"

????????}?

? }

commit規范


Commit message格式

type(scope?): subject?

注意冒號后面有空格。

type

用于說明 commit 的類別,只允許使用下面7個標識。

feat:新功能(feature)

fix:修補bug

docs:文檔(documentation)

style: 格式(不影響代碼運行的變動)

refactor:重構(即不是新增功能,也不是修改bug的代碼變動)

test:增加測試

chore:構建過程或輔助工具的變動

scope[optional]

表示改動的模塊或者文件或者功能

subject

提交簡短的問題描述

規則


規則由名稱和配置數組組成。配置數組包含:

級別?[0..2]:0禁用規則。因為1它將被視為2錯誤警告。

適用?always|never:never顛倒規則。

:用于此規則的值。

參考鏈接:?commitlint官網

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi閱讀 7,424評論 0 10
  • 前提: 安裝webpack、webpack-cli 一、首先先讓出來一個頁面有內容 先添加.gitignore,將...
    codingQi閱讀 1,467評論 0 0
  • NAME dnsmasq - A lightweight DHCP and caching DNS server....
    ximitc閱讀 2,910評論 0 0
  • This project was bootstrapped with Create React App. Belo...
    unspecx閱讀 5,218評論 0 2
  • 這兩天滴滴事件再次刷屏,但這次所有朋友圈的口徑幾乎完全呈現一邊倒的趨勢,那就是,數落、譴責甚至是唾罵滴滴平...
    kent6688閱讀 193評論 2 1