可以將Git鉤子腳本與存儲庫一起管理嗎?我們想制作一些我們可以共享的基本鉤子腳本 - 例如預格式化提交消息。Git有通常存儲在其下的鉤子腳本<project>/.git/hooks/。但是,當人們進行克隆并且它們不受版本控制時,這些腳本不會傳播。有沒有一種好方法可以幫助每個人獲得正確的鉤子腳本?我可以讓這些鉤子腳本指向我的倉庫中的版本控制腳本嗎?
3 回答

牧羊人nacy
TA貢獻1862條經驗 獲得超7個贊
從理論上講,您可以hooks
使用所有腳本在項目目錄中創建一個目錄(或您喜歡的任何名稱),然后將它們符號鏈接.git/hooks
。當然,每個克隆repo的人都必須設置這些符號鏈接(盡管你可能會非常喜歡并且有一個部署腳本,克隆人可以運行它來半自動設置它們)。
要在* nix上執行符號鏈接,您需要做的就是:
root="$(pwd)"ln -s "$root/hooks" "$root/.git/hooks"
使用ln -sf
,如果你準備覆蓋什么在.git/hooks

守著星空守著你
TA貢獻1799條經驗 獲得超8個贊
在Git 2.9中,配置選項core.hooksPath
指定自定義鉤子目錄。
將掛鉤移動到hooks
存儲庫中的跟蹤目錄。然后,配置存儲庫的每個實例以使用跟蹤hooks
而不是$GIT_DIR/hooks
:
git config core.hooksPath hooks
通常,路徑可以是絕對路徑,也可以是相對于運行鉤子的目錄(通常是工作樹根;請參閱說明部分man githooks
)。

ITMISS
TA貢獻1871條經驗 獲得超8個贊
如果您的項目是一個JavaScript項目并且您npm
用作包管理器,則可以使用shared-git-hooks來強制執行githooks npm install
。
- 3 回答
- 0 關注
- 727 瀏覽
添加回答
舉報
0/150
提交
取消