2010-07-26 43 views

回答

1

你可以嘗試client-side hook,像

pre-commit鉤首次運行之前,你甚至在鍵入提交消息。
它用於檢查即將提交的快照,查看是否忘記了某些內容,確保測試運行,或者檢查代碼中需要檢查的任何內容。從該鉤子退出非零將中止提交,但您可以使用git commit --no-verify繞過它。

查看this example of advance pre-commit hook查看在檢查索引內容方面可以做什麼。

+0

感謝您的輸入 – bsd 2010-07-27 08:55:01

1

如果您真的想要控制進入主存儲庫的內容,請不要讓其他人推送到它。相反,讓經理從其他用戶那裏撤回並檢查他們的更改以確保他們沒有違反策略。

2

此答案補充VonC answer


由於每個開發人員都應該有他/她自己的clone(他/她自己的工作庫),你可以真實地強加的唯一控制是允許或您在推動過程中禁止發佈庫(或拉動他們的變化)。這可以使用updatepre-receivehook完成。

1)pre-commit鉤可以用「git的承諾--no-驗證」

如果有現成的解決方案的支持度約束要徵收不知被繞過,但我認爲,這兩個update-paranoid示例鉤子(來自git sources中的contrib/hooks)和gitolite(用於管理對git存儲庫的訪問的工具)可以擴展爲支持它;兩者都可以執行基於路徑/差異的約束,例如只允許更改給定的配置子目錄。

+0

優秀的補充。 +1。因爲我剛安裝了gitolite,所以我會看看它是如何支持這種約束的。 – VonC 2010-07-27 18:36:43