iT邦幫忙

2024 iThome 鐵人賽

DAY 12
0

Who the hell are you Git hook

image alt

前言

是否曾經忘記在提交代碼前檢查程式碼格式?或者在提交後發現 commit 訊息錯誤,感到懊悔不已?這時你應該考慮使用 Git hook。它是 Git 內建的自動化腳本工具,可以根據客製化的條件,幫助開發者自動檢查程式碼,預防錯誤,簡化工作流程,並確保程式碼品質。

為了更方便地使用 Git hook,許多工程師為其開發了管理工具,例如 Husky、Lint-Staged、Lefthook 以及 Pre-Commit 等,這些工具都極大地提升了開發過程的效率。

fun fact

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


上一篇
DAY11 Husky可以救你一命
下一篇
DAY13 親愛的,我把 JSON 縮小了
系列文
麻瓜的程式翻譯書《Who the hell are you XXX》13
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

1
++
iT邦新手 5 級 ‧ 2024-09-26 17:08:50

今天要下班了嗎

我要留言

立即登入留言