#!/bin/bash # pre-commit — commit 前跑框架的機械閘 # # 啟用(每個 clone 做一次,之後跟著 repo 走): # git config core.hooksPath .githooks # # 為什麼版控在 .githooks/ 而不是 .git/hooks/: # .git/hooks/ 不會被 clone 帶走 ⇒ 換一台機器、換一個人,閘就悄悄消失了, # 而且沒有任何跡象。放進版控,至少「有沒有啟用」是查得到的事實。 # # 為什麼不掛雲端 workflow: # 本組織禁止在 repo 上掛自動化 workflow(歷史上「一個 push 觸發大量自動化」 # 正是帳號被停權的原因)。閘跑在人的機器上、commit 的那一刻。 # # 真的要跳過(例如緊急修):git commit --no-verify # ——留痕可審,不是不可能繞過。 exec bash scripts/check-all.sh