我如何學會停止擔心和愛git鉤
Git是一個強大的版本控制系統,但並不能固有地保證提交質量。您仍然可以使用錯誤,無用的消息或格式不佳提交代碼。 git鉤提供了解決方案。本教程演示瞭如何實施GIT掛鉤來執行“提交標準”,從而確保了清潔器代碼庫和更順暢的協作。
我們將創建僅允許達到特定標準的掛鉤。失敗的檢查將導致信息信息消息引導您進行更正。作為獎勵,傳遞提交將自動格式化。
先決條件
假定對Node.js,npm和Git的基本熟悉。如果您不確定package.json
或git commit -m [message]
,請在繼續之前諮詢相關文檔。
我們的方法
我們將安裝依賴項,然後設置三個提交檢查:
- 絨毛:代碼必須沒有絨毛錯誤。
- 單位測試:相關的單位測試必須通過。
- 提交消息格式:消息必須遵守預定義格式(常規提交格式)。
最後,傳遞提交將使用漂亮的格式自動格式化。至關重要的是,這些檢查僅在上演文件上運行,從而最大程度地減少開銷。該過程是堆棧敏捷的;將其適應您的首選工具(例如,摩卡而不是開玩笑)。
安裝依賴項
首先,安裝Husky(用於管理鉤子)和絨毛階段(用於在上演文件上運行Linters):
NPM I HUSKY LINT階段 - Save-Dev
接下來,為提交消息驗證安裝commitlint:
npm install @commitlint/{config-conventional,cli} -save-dev
適用於Windows用戶:
npm install @commitlint/config-conventional @commitlint/cli -save-dev
配置commitlint使用常規格式:
echo“ module.exports = {擴展:['@commitlint/config-conventional']}> commitlint.config.js
實施預加入鉤子
讓我們假設一個package.json
。
“腳本”:{ “ start”:“ webpack-dev-server -config ./webpack.dev.js - 模式開發”, “ build”:“ webpack -config ./webpack.prod.js - 模式生產”, “測試”:“開玩笑”, “ lint”:“ TSC -Noemit”, “ Prettier”:“ Prettier - Single-Quote - Print Width 80 \” **/*。 {JS,TS} \“ - -write” }
在package.json
中配置沙啞和棉絨階段。 JSON:
“沙啞”:{ “鉤子”:{ “ pre-commit”:“絨毛階段” } },, “絨毛階段”:{ “ ./*//*。{ts}”:[ “ npm運行棉絨”, “ NPM運行更漂亮” 這是給出的 }
在每個提交之前,這會在上演的打字稿文件上運行lint
和prettier
。要包括單位測試,請添加開玩笑:
“絨毛階段”:{ “ ./*//*。{ts}”:[ “ npm運行棉絨”, “開玩笑-bail-覆蓋 - 封閉式testests”, “ NPM運行更漂亮” 這是給出的 }
對於提交消息驗證,請在沙啞添加commit-msg
鉤子:
“沙啞”:{ “鉤子”:{ “ commit -msg”:“ commlint -e husky_git_params”, “ pre-commit”:“絨毛階段” } },,
現在,如果檢測到錯誤,測試失敗或不當格式的提交消息,則提交將失敗。更漂亮的自動格式通過提交。這個簡化的工作流程大大提高了代碼質量和團隊協作。
以上是我如何學會停止擔心和愛git鉤的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

您是否曾經在項目上需要一個倒計時計時器?對於這樣的東西,可以自然訪問插件,但實際上更多

格子呢是一塊圖案布,通常與蘇格蘭有關,尤其是他們時尚的蘇格蘭語。在Tartanify.com上,我們收集了5,000多個格子呢
