Git hook

好像走到哪裡,晃到哪裡,都有 hook 這個東西。

關於 hook

hook 的直翻是「鉤子」。但在程式的世界裡,你可以把它想像成是釣魚的那個鉤子,當有魚上鉤的時候,鉤子就會有「反應」。

這個反應就是用來通知我們「某件事情發生了」的意思。

以 Git 來說的話,可以是:

  1. 有人 commit 的時候通知我
  2. 有人 push 的時候通知我

Git 中的 hook

這些 hook 都放在 .git 裡面的 hooks 資料夾。

每個 hook 都會在特定的時機被觸發,例如說「pre-commit」這個 hook 會在「commit 之前被觸發」。

你可以利用這個 hook 來寫一段 shell script(當成是一種寫好的腳本就好)做控制,讓只有通過檢查的 commit 才會真的送出去。

  • exit 0,代表成功,會執行
  • exit 1,代表失敗,不會執行

如果你學過 C 語言,你可以用 C 語言會用 「return 0」來代表執行正確的概念來幫助記憶。

(我目前還不會寫 shell script,但現在只要知道 Git 有 hook 這個東西可以用就好了,以後有需要的時候自然就會去查資料了。)

參考資料

使用 Git Hooks 紀錄不同專案的 commit 訊息

mentor-program-day03 Git 指令
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×