Git Hooks
Git 能在特定的重要動作發(fā)生時觸發(fā)自定義的腳本。
這些腳本都被存儲在 Git 目錄下的 hooks 子目錄中(.git/hooks)。當 git init 初始化一個倉庫時,Git 默認會在這個目錄中放置一些示例腳本。這些腳本一般都是 shell 腳本。不過自定義的可執(zhí)行腳本可以使用你喜歡的腳本語言,如 Ruby、Python 等。
這些示例的名字都是以 .sample 結(jié)尾,如果需要啟用它們,首先要移除這個后綴:
cd .git/hooks
ls
applypatch-msg.sample commit-msg.sample post-update.sample pre-applypatch.sample pre-commit.sample pre-push.sample pre-rebase.sample prepare-commit-msg.sample update.sample
cp applypatch-msg.sample applypatch-msg
鉤子按功能分來兩類:客戶端和和服務(wù)器端的。
客戶端鉤子由諸如提交(commit)和合并(merge)這樣的操作所調(diào)用,而服務(wù)器端鉤子作用于諸如接收被推送(push)的提交這樣的聯(lián)網(wǎng)操作。