Git_鉤子工作原理

Git可以定制一些鉤子,這些鉤子可以在特定的情況下被執(zhí)行,分為Client端的鉤子和Server端的鉤子。Client端鉤子被operation觸發(fā),比如commit,merge等,Server端鉤子被網(wǎng)絡(luò)動作觸發(fā),比如pushed commits。

那么鉤子是放在哪的呢?
在.git/hooks/文件夾下。當(dāng)你init一個(gè)倉庫的時(shí)候,下邊會有一些鉤子的例子,以.sample結(jié)尾。

那么鉤子什么時(shí)候被執(zhí)行,Git預(yù)定義了觸發(fā)時(shí)機(jī):
ClientSide hooks:
1 pre-commit,當(dāng)執(zhí)行commit動作時(shí)先執(zhí)行此hook,可以用此hook做一些檢查,比如代碼風(fēng)格檢查,或者先跑測試。
2 prepare-commit-msg, 當(dāng)commit時(shí)需要輸入message前會觸發(fā)此hook,可以用此hook來定制自己的default message信息。
3 commit-msg,當(dāng)用戶輸入commit的message后被觸發(fā),可以用此hook校驗(yàn)message的信息,比如是否符合規(guī)定,有沒有cr等。
4 post-commit, 當(dāng)commit完成后被觸發(fā),可以用此hook發(fā)送notification等。
5 pre-rebase, rebase之前會被觸發(fā),可以用此hook來拒絕所有的已經(jīng)push的commits進(jìn)行rebase操作。
6 post-merge, 當(dāng)merge成功后,會觸發(fā)此hook。
7 pre-push, 當(dāng)push時(shí),remote refs被更新,但是在所有的objects傳輸前被觸發(fā)。
8 pre-auto-gc, 當(dāng)git gc --auto執(zhí)行前被觸發(fā)。在垃圾回收之前做一些驗(yàn)證或備份是挺不錯(cuò)的。

ServerSide hooks:
1 pre-receive, 當(dāng)收到push動作之前會被執(zhí)行。
2 update, 也是收到push動作之前被執(zhí)行,但是有可能被執(zhí)行多次,每個(gè)branch一次。
3 post-receive, 當(dāng)push動作已經(jīng)完成的時(shí)候會被觸發(fā),可以用此hook來push notification等,比如發(fā)郵件,通知持續(xù)構(gòu)建服務(wù)器等。

記住所有的hook都應(yīng)該是可被執(zhí)行的。
chmod u+x your_hook
所以你可以用shell腳本,perl,python等寫鉤子。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.什么是 Git Hooks 如同其他許多的版本控制系統(tǒng)一樣,Git 也具有在特定事件發(fā)生之前或之后執(zhí)行特定腳本...
    就叫yang閱讀 3,500評論 3 11
  • 什么是Git Hooks? 話說,如同其他許多的版本控制系統(tǒng)一樣,Git也具有在特定事件發(fā)生之前或之后執(zhí)行特定腳本...
    茗涙閱讀 11,537評論 0 7
  • 背景 某某你提交的代碼有問題,怎么把沒有驗(yàn)證的dev代碼合并到master上去了…… 某某你提交的代碼有問題,怎么...
    小黑妞_b8b9閱讀 11,685評論 1 18
  • git中提供了一組hook,規(guī)定了每個(gè)hook的名字,以及hook接收的參數(shù)個(gè)數(shù)和每個(gè)參數(shù)的含義。用戶如果要使用h...
    ElpieKay閱讀 12,028評論 0 5
  • 出軌者的理想生活 北京時(shí)間下午四點(diǎn)不知道零幾分,知名狗仔卓偉爆料演員陳思誠疑似出軌,具體表現(xiàn)為陳思誠深夜給美女開門...
    你的小美味吖閱讀 357評論 0 2

友情鏈接更多精彩內(nèi)容