摘要:文件配置配置說明由和配置數(shù)組組成,如,數(shù)組中第一位為,可選,為,為,為,第二位為應(yīng)用與否,可選,第三位該的值。
在有了Husky賦能之后,我們有能力在Git的鉤子里做一些事情,首先不得不提的是代碼的提交規(guī)范和規(guī)范的校驗,優(yōu)雅的提交,方便團隊協(xié)作和快速定位問題。首推Commitlint,另外@加神 推薦了Gitmoji也是一個很有意思的工具。
安裝npm install --save-dev @commitlint/config-conventional @commitlint/cli // 生成配置文件commitlint.config.js,當然也可以是 .commitlintrc.js echo "module.exports = {extends: ["@commitlint/config-conventional"]};" > commitlint.config.js配置
在husky的配置加入CommitlIint配置,v1.0.1版本以后為HUSKY_GIT_PARAMS,v0.14.3為GIT_PARAMS
"husky": { "hooks": { "pre-commit": "npm run test", "commit-msg": "commitlint -e $HUSKY_GIT_PARAMS" } },定制提交規(guī)范 提交格式(注意冒號后面有空格)
常用的type類別:
upd:更新某功能(不是 feat, 不是 fix)
feat:新功能(feature)
fix:修補bug
docs:文檔(documentation)
style: 格式(不影響代碼運行的變動)
refactor:重構(gòu)(即不是新增功能,也不是修改bug的代碼變動)
test:增加測試
chore:構(gòu)建過程或輔助工具的變動
例子:
git commit -m "feat: 增加 xxx 功能" git commit -m "bug: 修復(fù) xxx 功能"subject
subject是 commit 目的的簡短描述,可以做一些配置,如最大長度限制。
commitlint.config.js文件配置rule配置說明::rule由name和配置數(shù)組組成,如:"name:[0, "always", 72]",數(shù)組中第一位為level,可選0,1,2,0為disable,1為warning,2為error,第二位為應(yīng)用與否,可選always|never,第三位該rule的值。具體配置例子如下:
module.exports = { extends: [ "@commitlint/config-conventional" ], rules: { "type-enum": [2, "always", [ "upd", "feat", "fix", "refactor", "docs", "chore", "style", "revert" ]], "type-case": [0], "type-empty": [0], "scope-empty": [0], "scope-case": [0], "subject-full-stop": [0, "never"], "subject-case": [0, "never"], "header-max-length": [0, "always", 72] } };
這里列出了大部分常用的配置,其它的可以參考Commitlint網(wǎng)站,具體使用例子:
這里我們使用錯誤的提交方式,最上面的是自動測試的腳本,大家可以忽略,husky給出了commit-msg的input為xxx,觸發(fā)了subject-empty,type-empty兩個規(guī)則,提交不符合規(guī)范,被攔了下來。如果是正確的提交,例子如下:
關(guān)于Commitlint的使用就到這里了。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/100778.html
摘要:我們在前面的四篇中介紹了這些工具,可以完成以最小的代價在提交到遠程倉庫前,格式化為統(tǒng)一風(fēng)格的代碼,大家都很熟悉這里就不列舉了。下面舉一個配置。這里對于項目里分別做了提交前格式化操作,對于提交規(guī)范做了校驗。 我們在前面的四篇中介紹了husky、commitlint、lint-staged、prettier這些工具,可以完成以最小的代價在Git提交到遠程倉庫前,格式化為統(tǒng)一風(fēng)格的代碼,es...
摘要:在我們介紹了之后,來看一個前端文件過濾的工具,代碼的格式化肯定會涉及到文件系統(tǒng),一般工具會首先讀取文件,格式化操作之后,重新寫入。 在我們介紹了Husky、Commitlint之后,來看一個前端文件過濾的工具Lint-staged,代碼的格式化肯定會涉及到文件系統(tǒng),一般工具會首先讀取文件,格式化操作之后,重新寫入。對于較大型的項目,文件眾多,首先遇到的就是性能問題,雖然如Eslint之...
摘要:程序員最煩的幾件事寫測試,變量命名,還有填代碼提交信息。其實的作用遠不止如此,經(jīng)過簡單的配置便可無痛成為代碼提交的文明公民。好的提交歷史可以方便其他人參與進來,也可以方便自己快速定位問題。 程序員最煩的幾件事:寫測試,變量命名,還有填代碼提交信息(commit message)。翻幾個開源項目遍馬上可以回味那作文湊字數(shù)的青春時光。 其實 commit message 的作用遠不止如此,...
摘要:為此我們需要安裝這個是用于提交代碼的鉤子函數(shù)安裝完之后,我們就需要在增加運行鉤子函數(shù)。等鉤子函數(shù)這樣就簡單的成功對代碼進行效驗了,當然這邊更進一步的可以使用這個可以將取得所有被提交的文件依次執(zhí)行寫好的任務(wù)。 一個項目是會有多個成員來開發(fā)的,因此統(tǒng)一開發(fā)規(guī)范是很有必要的,不然每個人都有自己的風(fēng)格,同步之后代碼都會報錯。我這邊是用Vscode編譯器的。 首先用vue-cli3.0創(chuàng)建一個工...
摘要:配置添加包配置此處如果不使用需要將替換為效果代碼提交的格式不符合標準就會直接被拒絕。 Commitlint 配置 添加包 yarn add @commitlint/cli @commitlint/config-conventional husky -D 配置package.json husky: { hooks: { // 此處如果不使用husky 需要將H...
閱讀 2486·2021-11-15 18:14
閱讀 1711·2021-10-14 09:42
閱讀 3746·2021-10-11 10:58
閱讀 3939·2021-10-09 09:44
閱讀 2410·2021-09-26 09:55
閱讀 2430·2021-09-24 10:38
閱讀 2025·2021-09-04 16:48
閱讀 3268·2021-09-02 15:21