2012-08-31 42 views
51

如果我在本地倉庫中創建一個新的鉤子腳本在repo/.git/hooks/post-commit然後運行「git push」鉤子被推送到遠程?那麼,當其他開發者運行「git pull」時,他們會得到我的新鉤子?當我'推動'時,git鉤子是否被推到了遠程?

+3

也許這個幫助http://stackoverflow.com/questions/3462955/putting-git-hooks-into-repository – Stony

+0

謝謝,這是我的下一個問題。 :) – slacy

回答

47

編號掛鉤是每個存儲庫,並且從不推送。同樣,repo配置也不會被推入,也不會在.git/info或其他許多事情中發生。

推動和拉動只交換分支/標籤和提交對象(以及任何可從提交可訪問的東西,例如樹,斑點)。

+3

有沒有辦法在中央掛鉤,並將它們拉到每個克隆上並應用。 – f1wade

33

不,git掛鉤不會被推或拉,因爲它們不是存儲庫代碼的一部分。

請參考the documentation瞭解簡單的客戶端和服務器端掛鉤的列表。

如果要爲所有從給定存儲庫克隆或提取的客戶端啓用某些掛鉤,則必須將掛鉤添加到您的代碼庫,然後創建自己的腳本以將其複製或鏈接到repo/.git/hooks/

+3

但複製腳本如何被調用? –

+5

@AdamJohns它被用戶/開發人員調用,可能以開發者在第一次克隆版本庫時運行的'setup.sh'的形式進行調用。之後,鉤子的更新可以通過重新運行一個腳本來自動發生,例如,在每次拉動後都會更新腳本。所以你不必依靠開發人員自己來做。 – cm92