說明
Git提供事件觸發功能(在此使用hoook,翻譯成掛鉤),在某些時間點,可以做一些客製化的事情。以下我們先將這些掛鉤列出來看看[1]
安裝
掛鉤檔,都存放在.git/hooks(預設)目錄下,git會預設一些腳本範例。所有的hook檔範本都是shell腳本語言寫成,其中還包含一些Perl腳本。把一個正確命名且可執行的檔案放到指定的目錄中,即完成安裝,之後就會在正確的時機點被git呼叫。範例檔都是以.sample副檔名,必須重新命名,才會被執行。
Client可用的掛鉤
提交工作流程掛鉤
pre-commit輸入commit資訊前執行
prepare-commit-msg
commit資訊編輯器顯示之前
commit-msg
掛鉤接收一個參數,此參數是包含最近提交資訊的暫存檔路徑。
post-commit
整個提交過程完成後執行
E-mail 工作流掛鉤
運行git am指令時,會呼叫這三個掛鉤,如果你通過 e-mail 接收由git format-patch產生的補丁,這些掛鉤也許對你有用。applypatch-msg
他接收一個參數:包含被建議提交資訊的暫存檔案名。
pre-applypatch
透過git am應用補丁時執行,該掛鉤不接收參數,在補丁被應用之後執行
post-applypatch
在git am操作期間執行
其他掛鉤
pre-rebaserebase前執行
post-checkout
git checkout成功執行後執行
post-merge
git merge命令成功執行後會執行
Server可用的掛鉤
pre-receive and post-receive
pre-receivegit push執行後,接收commit內容之前執行。
post-receive
接收commit內容之後執行,不過執行過程使用者要保持連線。(注意此腳本是否會執行很久,連線就要保持一段時間)
update
update每一個分支更新時執行一次
其它 有檔但是Pro Git沒提到的
post-update.samplepre-push.sample
沒有留言:
張貼留言
(什麼是留言欄訊息?)