精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

如何配置 Git 提交代碼檢查?

開發 前端
在多人協同的團隊中,規范化的提交信息更易讀,便于查找。每個人的 git commit 的信息不一樣,沒有一個機制就很難保證規范化。

今天來看看如何使用 commitlint + Husky 在 git commit 時規范提交信息!

1. 基本概述

在多人協同的團隊中,規范化的提交信息更易讀,便于查找。每個人的 git commit 的信息不一樣,沒有一個機制就很難保證規范化。而 commitlint 就可以幫助我們解決這個問題。Commitlint 是一個自動化工具,它可以用來檢查提交約定,如果提交不符合規范,則會拒絕該提交。當然,這些規則是可以配置的。

使用 commitlint 的優點:

  • 自動變更日志:由于遵循標準約定的提交,可以使用standard-version 等工具自動生成變更日志;
  • 更好的理解提交:具有特定類型和范圍的提交將幫助我們了解提交更改了哪些代碼;
  • 遵守特定約定:多人協作的的大項目中,commitlint 可以阻止不規范的提交,以便提交遵守定義的約定。

Git 允許開發人員在觸發特定事件時執行一些操作,它被稱為git hook。我們可以在git工作流程的很多階段執行操作,例如:

  • pre-commit
  • pre-push
  • pre-rebase
  • post-update

然而,這需要在本地的 .git 文件中配置的,因此在默認情況下,每個開發人員都需要安裝需要的 hook,這樣才能執行特定的檢查。幸運的是,Husky 可以幫助我們解決這個問題,husky 可以讓我們在項目中方便添加 git hooks。Husky 不僅可以用于強制執行提交約定,還可以在提交時運行靜態代碼分析、測試、自動代碼格式化等。

因此我們可以使用Husky和commitlint來檢查提交信息是否符合提交規范。

2. 安裝配置

由于 Commitlint 使用了 Husky,我們需要先安裝它。Husky 是作為開發依賴項提供的,因此它僅在本地使用,不會與生產代碼捆綁在一起。在終端中執行以下命令來安裝Husky:

// 使用npm安裝
npm install --save-dev husky

// 使用yarn安裝
yarn add husky --dev

現在我們需要定義一個 Hook 來檢查提交信息,這個 hook 叫做 commit-msg,需要在 package.json 中定義:

"husky": {
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
}

或者,我們也可以項目的根目錄定義一個.huskyrc配置文件,在這個配置文件中單獨定義 Husky 配置:

{
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
}

這段代碼就告訴git hooks,當我們執行 git commit -m 'message' 時將觸發commit-msg 事件鉤子并通知 husky,從而執行 commitlint -e $GIT_PARAMS命令。該命令會讀取commitlint.config.js 配置的規則并對提交的信息進行校驗,若校驗不通過,就會在終端中輸出錯誤,commit 被終止。

有了 Husky,接下來就需要安裝 Commitlint CLI,它將由 Husky hook 執行以驗證提交消息:

// 使用npm安裝
npm install --save-dev @commitlint/cli

// 使用yarn安裝
yarn add @commitlint/cli --dev

Commitlint 只是用于檢查提交消息是否符合規范的工具。所以,我們還需要一個提交規范。這個配置是完全可以自定義的,當然,Commitlint 提供了當前支持的配置之外的一些配置:

  • @commitlint/config-conventional
  • @commitlint/config-lerna-scopes
  • @commitlint/config-patternplate
  • @commitlint/config-angular
  • @commitlint/config-angular-type-enum

Commitlint 推薦使用 config-conventional 配置去規范 commit,安裝命令如下:

// 使用npm安裝
npm install --save-dev @commitlint/config-conventional

// 使用yarn安裝
yarn add @commitlint/config-conventional --dev

最后一步,我們需要創建一個 Commitlint 配置文件,在文件中可以定義需要使用的配置,也就是上面剛安裝的配置規范。只需要在項目的根目錄創建一個名為commitlint.config.js的規范:

module.exports = {
extends: ['@commitlint/config-conventional'],
};

到這里就完成了 Husky 和 Commitlint 的安裝和配置。其執行流程如下:

3. 提交規范

Commitlint 推薦使用 config-conventional 配置,它的提交格式如下:

git commit -m <type>[optional scope]: <description>

這里面有三個參數:

  • type:必須,表示提交的改動類型;
  • optional scope:可選,表示提交的修改范圍,需要使用括號包裹;
  • description:必須,表示提交的內容描述。

常見的 type 類型如下:

  • build: 影響構建組件的更改,如構建工具、依賴項、項目版本等;
  • chore: 比如構建流程、輔助工具等的更改。
  • ci: 持續集成的更改;
  • docs: 影響文檔的更改。
  • feat: 引入新功能的更改。
  • fix: 修補錯誤的更改。
  • perf: 優化相關,比如提升性能、體驗。
  • refactor: 代碼重構的更改。
  • revert: 還原先前提交的更改。
  • style: 代碼格式的更改(空格、格式、缺少分號等)。
  • test: 添加缺失測試或糾正現有測試的更改。

例如:

git commit -m 'feat: 增加 xxx 功能'
git commit -m 'feat(xx模塊): 增加 yyy 功能'
git commit -m 'fix: 修復 xxx 問題'

下面是一個git提交信息的例子:

下面來看看config-conventional 配置是如何定義的:

module.exports = {
parserPreset: 'conventional-changelog-conventionalcommits',
rules: {
'body-leading-blank': [1, 'always'],
'body-max-line-length': [2, 'always', 100],
'footer-leading-blank': [1, 'always'],
'footer-max-line-length': [2, 'always', 100],
'header-max-length': [2, 'always', 100],
'scope-case': [2, 'always', 'lower-case'],
'subject-case': [
2,
'never',
['sentence-case', 'start-case', 'pascal-case', 'upper-case'],
],
'subject-empty': [2, 'never'],
'subject-full-stop': [2, 'never', '.'],
'type-case': [2, 'always', 'lower-case'],
'type-empty': [2, 'never'],
'type-enum': [
2,
'always',
[
'build',
'chore',
'ci',
'docs',
'feat',
'fix',
'perf',
'refactor',
'revert',
'style',
'test',
],
],
},
};

這里面包含了很多配置項,這些配置項由配置名和配置數組組成,數組的第一個元素是level,可選值0、1、2,0為disable,1為warning,2為error,第二個元素為是否應用與否,可選值always、never,第三個元素是配置規則。

上面是config-conventional的默認規則,我們可以在 commitlint.config.js 配置文件中覆蓋這些規則:

module.exports = {
extends: ['@commitlint/config-conventional'],
rules: {
'scope-case': [0, 'never'],
'header-max-length': [0, 'always', 120]
}
};
責任編輯:武曉燕 來源: 前端充電寶
相關推薦

2021-01-22 05:55:12

GitAngularJStype

2024-04-08 08:37:41

代碼githook

2020-11-02 08:21:50

Git辦法代碼

2022-09-23 14:44:31

前端huskyeslint

2009-09-14 09:40:48

微軟Linux代碼

2020-11-12 11:55:57

代碼GitJava

2025-08-06 06:00:00

大數據FlinkYARN

2022-10-27 09:34:06

git撤銷

2025-03-26 08:00:00

代碼Git鉤子

2020-12-14 13:47:53

Linus代碼內核

2010-09-14 14:58:31

2014-09-23 09:40:09

2022-04-11 00:21:32

MySQL事務數據庫

2021-03-30 08:43:29

黑客PHP團隊Git

2020-12-15 17:43:48

Linux 操作系統 開發

2022-09-15 07:44:32

Git全局配置本地配置

2023-07-17 15:40:28

2023-07-16 23:09:55

GitType代碼

2021-01-04 13:25:10

Git開源工具

2022-05-06 14:52:23

GitHub代碼安全
點贊
收藏

51CTO技術棧公眾號

黄色免费网站在线观看| 国产香蕉视频在线| 欧美亚洲黄色| 亚洲欧美日韩电影| 久久久久天天天天| 中文字幕 国产| 欧美日韩a区| 亚洲欧美日韩中文在线| 久热精品在线观看视频| 污片视频在线免费观看| 国产亚洲女人久久久久毛片| 亚洲综合自拍一区| 中文字幕一区在线播放| 亚洲精品二区三区| 精品小视频在线| caoporm在线视频| 亚洲黄色中文字幕| 亚洲精品中文在线| 日韩国产精品一区二区三区| 亚洲va欧美va| 蜜桃视频在线一区| 97精品久久久| 欧美老熟妇一区二区三区| 免费精品国产| 欧美一区二区网站| 91久久精品午夜一区二区| 欧美在线xxx| 欧美三级在线免费观看| 激情综合网五月| 亚洲电影中文字幕| 四川一级毛毛片| 欧美与亚洲与日本直播| 精品二区三区线观看| 看全色黄大色大片| 一级毛片视频在线| 久久午夜免费电影| 国产亚洲欧美一区二区| 国产美女明星三级做爰| 男女激情视频一区| 欧美在线欧美在线| 免费日韩一级片| 国产精品videosex极品| 久热国产精品视频| 久草手机视频在线观看| 成人羞羞视频在线看网址| 亚洲欧美日韩一区二区在线| a级一a一级在线观看| 日韩成人久久| 欧美一级高清大全免费观看| 亚洲免费在线播放视频| 国产精品成人**免费视频| 欧美日本视频在线| 999精品视频在线| free欧美| 欧美在线观看禁18| www.欧美日本| 黄色精品视频| 欧美日韩一区二区在线观看| 一级片视频免费观看| 欧美成人app| 欧美午夜精品一区二区蜜桃 | 欧美激情成人| 中文字幕欧美日韩va免费视频| 韩国女同性做爰三级| 精品视频网站| 久久久成人av| 久久久久亚洲av成人片| 亚洲精品专区| 国产成+人+综合+亚洲欧美丁香花| 成年人视频在线免费看| 视频一区二区三区中文字幕| 精品久久香蕉国产线看观看亚洲| 日韩亚洲国产中文字幕| 国产美女网站视频| 欧美~级网站不卡| 久久久亚洲国产天美传媒修理工| 日韩黄色三级视频| 久久成人在线| 91人成网站www| 成人午夜视频一区二区播放| 久久久一区二区三区| 视频一区二区三| 国产二区三区在线| 亚洲va欧美va国产va天堂影院| 欧美一级在线看| 51一区二区三区| 欧美大片免费久久精品三p| 久草视频福利在线| 精品国产一区二区三区香蕉沈先生 | 日韩av电影在线播放| 中国一级特黄视频| 成人免费观看男女羞羞视频| 欧美视频观看一区| a毛片在线观看| 狠狠色狠色综合曰曰| 婷婷成人综合网| 看一级黄色录像| 日本黄色免费在线| 91精品国产一区二区三区蜜臀| 影音先锋资源av| 日韩美女一区二区三区在线观看| 欧美高跟鞋交xxxxxhd| 亚洲成人av网址| 高清在线观看日韩| 亚洲欧洲另类精品久久综合| missav|免费高清av在线看| 欧美午夜理伦三级在线观看| 国产草草浮力影院| 欧美国产一区二区三区激情无套| 欧美极品少妇与黑人| 亚洲一级片免费看| 91视频观看视频| 中文字幕色呦呦| 高清av一区| 日韩精品视频中文在线观看| 日韩va亚洲va欧美va清高| 日日夜夜免费精品| 精品国产一区二区三区免费| а√资源新版在线天堂| 欧美亚洲动漫精品| 亚洲中文字幕一区| 亚洲特色特黄| 亚洲va欧美va在线观看| h视频在线免费| 色欲综合视频天天天| 日本不卡视频一区| 欧美精品成人| 亚洲综合视频1区| 男人的天堂在线视频免费观看| 色综合久久综合中文综合网| 欧美激情 亚洲| 欧美精品国产一区| 在线一区二区观看| 久久综合精品一区| av在线理伦电影| 日韩欧美一级在线播放| √天堂中文官网8在线| 免费日本视频一区| 亚洲精品成人三区| 成人做爰免费视频免费看| 亚洲欧美日韩区| 6080午夜伦理| 久久久一区二区| 日本成人在线免费视频| 亚洲国产国产| 国产999精品久久久影片官网| 天天干天天草天天射| 精品av在线播放| 日b视频在线观看| 亚洲另类黄色| 欧美日韩成人一区二区三区| 欧美日韩国产v| 97久久精品一区二区三区的观看方式| 欧美精品一区二区三区一线天视频| 一起操在线播放| 国产真实乱对白精彩久久| 一区二区三区四区国产| 亚洲免费一区| 九九热视频这里只有精品| 亚洲第一色网站| 亚洲国产wwwccc36天堂| 黑丝av在线播放| 日韩黄色免费电影| 亚洲综合激情五月| 一本一道久久a久久| 8050国产精品久久久久久| 五月婷婷六月丁香| 色综合久久久网| 国产一区二区三区精品在线| 久久91精品久久久久久秒播| 国产乱子伦精品视频| 玖玖玖免费嫩草在线影院一区| 欧美在线视频观看免费网站| 成人在线免费观看| 日韩一区二区三| 国产精久久久久久| 久久久精品日韩欧美| 久久久久xxxx| 伊人影院久久| 亚洲欧美久久234| 一区二区三区视频免费视频观看网站| 国外成人性视频| yourporn在线观看视频| 日韩一区二区三区在线| 亚洲永久精品在线观看| 亚洲欧美在线aaa| 男人网站在线观看| 日本不卡在线视频| av在线免费观看国产| 九九亚洲精品| 999国产在线| 二吊插入一穴一区二区| 欧美日韩国产第一页| 黄色片免费在线| 日韩三区在线观看| 国产精品乱码一区二区视频| 亚洲人成网站在线| 午夜在线观看一区| 高清不卡在线观看av| 亚洲黄色小视频在线观看| 亚洲高清自拍| 欧美一区二区免费| r级无码视频在线观看| 久久av免费看| 国产精品日韩一区二区| 国产精品第一国产精品| 97久久伊人激情网| 成人影院在线看| 亚洲另类图片色| 亚洲老妇色熟女老太| 欧美日韩国产系列| 国产小视频在线免费观看| 亚洲色图清纯唯美| 中文字幕免费视频| 不卡一区二区在线| 1314成人网| 麻豆精品国产91久久久久久| 欧美色图色综合| 国语精品一区| 艳母动漫在线观看| 久久综合99| 污视频在线免费观看一区二区三区 | 成av人电影在线观看| 亚洲国产日韩欧美在线图片 | 91精品影视| 欧美综合一区第一页| 高h视频在线播放| 精品视频9999| 182tv在线播放| 久久视频在线播放| 麻豆视频在线观看免费| 中文字幕av一区二区三区谷原希美| 性xxxx视频| 亚洲精品理论电影| 婷婷丁香一区二区三区| 亚洲福利视频网站| 黄色一级大片在线免费看国产一| 7799精品视频| 国产丝袜视频在线观看| 欧美高清视频www夜色资源网| 中文字幕视频一区二区| 欧美性感一类影片在线播放| 亚洲 日本 欧美 中文幕| 欧美性xxxxx| 精品黑人一区二区三区| 色欧美片视频在线观看| 一级一片免费看| 欧美日韩激情一区二区三区| 可以在线看的黄色网址| 成人免费一区二区三区牛牛| 久久久av一区| 在线中文字幕-区二区三区四区| 久久九九国产精品怡红院| 里番在线观看网站| 久久视频精品在线| 色婷婷在线播放| 久久久这里只有精品视频| а√天堂中文资源在线bt| 97国产一区二区精品久久呦 | 国产精品网站视频| 全球中文成人在线| 91亚洲精品在线| 98视频精品全部国产| 久草精品电影| 欧美日韩在线二区| 在线观看欧美亚洲| 欧美日本国产| 131美女爱做视频| 久久亚洲风情| 中文字幕 日韩 欧美| 国产成人精品免费一区二区| 国产激情视频网站| 国产欧美视频在线观看| 看免费黄色录像| 午夜影院久久久| 国产一区二区视频网站| 91精品欧美久久久久久动漫| 成人免费观看在线视频| 亚洲人成在线电影| 久草免费在线| 国语自产偷拍精品视频偷| 神马电影网我不卡| 91亚洲国产精品| 免费日韩一区二区三区| 婷婷精品国产一区二区三区日韩| 欧美99在线视频观看| 欧美日韩在线不卡视频| 久久91精品国产91久久小草| 亚洲成人福利视频| 国产亚洲综合性久久久影院| 九九热最新地址| 一本到不卡精品视频在线观看| 国产精品久久久久久久久毛片| 亚洲精品一区二区三区在线观看| 毛片免费在线| 久久久久久亚洲精品中文字幕| 日韩av超清在线观看| 国产高清自拍99| 日韩免费看片| 成人免费观看cn| 激情图区综合网| 性欧美13一14内谢| 亚洲一卡二卡三卡四卡五卡| 中文字幕在线日亚洲9| 亚洲国产成人精品一区二区| 欧美精品日韩少妇| 欧洲成人性视频| 91蝌蚪精品视频| 特级毛片在线免费观看| 视频一区二区不卡| 毛茸茸free性熟hd| 亚洲伦理在线精品| 进去里视频在线观看| 亚洲国产精品热久久| 成人无遮挡免费网站视频在线观看| 热久久99这里有精品| 久久成人福利| 欧美 国产 精品| 麻豆成人91精品二区三区| 久久精品国产亚洲av久| 五月综合激情婷婷六月色窝| av一级黄色片| 日韩在线观看网站| www成人在线视频| 欧美日韩精品免费看| 日韩视频在线一区二区三区| 乳色吐息在线观看| 日韩毛片视频在线看| 中文字幕一区二区人妻| 一区二区三区精品99久久| 丝袜美腿一区| 欧美在线一二三区| 免费看的黄色欧美网站| 在线观看国产网站| 午夜精品久久久久久久| 刘亦菲久久免费一区二区| 久久国产精品影片| 欧美精品三级在线| 欧洲xxxxx| 国产一区二区三区四区在线观看| 国精品人伦一区二区三区蜜桃| 欧美日韩久久不卡| 一本一道波多野毛片中文在线| 国产精品天天狠天天看| 青青草原综合久久大伊人精品 | 久久精品久久国产| 精品美女一区二区三区| 色婷婷在线播放| 国产精品 日韩| 亚洲人成毛片在线播放女女| 少妇精品无码一区二区三区| 午夜精彩视频在线观看不卡| 男人的天堂a在线| 97视频在线观看播放| 首页亚洲中字| 国内自拍视频一区| 国产精品入口麻豆原神| 亚洲系列第一页| 美女精品视频一区| av不卡一区二区| 激情深爱综合网| 国产欧美精品一区二区色综合朱莉| 最新在线中文字幕| 久久视频免费在线播放| 成人av激情人伦小说| 精品一区二区中文字幕| 欧美国产1区2区| 国产精品无码AV| 在线欧美日韩精品| 美女福利视频网| 欧美一区二区三区视频在线| 伦理av在线| 久久精品成人一区二区三区蜜臀| 日韩电影在线观看电影| 国产美女福利视频| 精品国产伦一区二区三区观看体验| av资源中文在线天堂| 青娱乐国产91| 国产精品一二三四| 国产精品午夜影院| 少妇高潮久久77777| 深夜福利一区| 已婚少妇美妙人妻系列| 日韩美女视频一区二区| 五月激情婷婷综合| 国产欧美日韩亚洲精品| 日韩视频免费| 91狠狠综合久久久| 国产视频综合在线| 免费一区二区三区在线视频| 2022亚洲天堂| 亚洲美女区一区| 玖玖综合伊人| 成人高清在线观看| 日韩va亚洲va欧美va久久| 国产亚洲精品成人| 日韩在线观看精品| 要久久爱电视剧全集完整观看| 日韩欧美理论片| 91久久线看在观草草青青|