是否曾經忘記在提交代碼前檢查程式碼格式?或者在提交後發現 commit 訊息錯誤,感到懊悔不已?這時你應該考慮使用 Git hook。它是 Git 內建的自動化腳本工具,可以根據客製化的條件,幫助開發者自動檢查程式碼,預防錯誤,簡化工作流程,並確保程式碼品質。
為了更方便地使用 Git hook,許多工程師為其開發了管理工具,例如 Husky、Lint-Staged、Lefthook 以及 Pre-Commit 等,這些工具都極大地提升了開發過程的效率。
Git hook 是存在 Git 資料夾內部的一個功能,而 Git 資料夾是無法上傳至遠端的。所以你設定的 Git hook 只能在本地端有效,無法隨著程式碼推送到其他人的環境中。
小銘和小華正在合作編輯一篇文章(程式碼)。文章結構龐大且複雜,僅靠人工眼力檢查錯誤實在非常耗時,例如檢查標點符號(程式碼格式)或主題命名格式(commit 訊息)。
於是小銘決定使用 Git hook 工具。這是一個自動化腳本工具,根據兩位作者的設定,Git hook 會自動檢查文章中出現的問題,並進行修正,直到文章符合標準為止。
關於 Git hook 的歷史,可以參考我之前的文章 DAY5 Git 驚人的秘辛
目前我能找到的片段:早在 Git 的早期版本中,Hook 功能就已經存在,隨著時間推移,越來越多的開發者開始利用 Hook 來實現自動化流程。而社群不斷發展,工具如 Husky 開始流行,使 Git hook 的功能越來越多元且完善。
我第一次接觸 Git hook 是在 8 月份,當時和工作室的夥伴一起進行專案開發。當時我才發現有這麼方便的工具,能自動化還不好好給他用一下,你們說對嗎。
什麼是 Git Hooks?為什麼它這麼萬能? – 科技讀蟲
Git Hooks - A Guide for Programmers
Git Hooks | Biome