2013-03-08 165 views
4

比方說,你有一個父項目和子模塊。如何阻止用戶在git中提交子模塊?

有一個用戶擁有父項目的讀/寫權限,但只有子模塊的讀權限。

如何阻止用戶對子模塊進行更改並提交它,然後在父項目中提交併推送更新後的引用以此新提交?

用戶將無法將其更改推送到子模塊,因爲他們沒有權限。當另一個用戶現在拉下父項目時,他們將引用一個尚未推送到服務器的子模塊提交。

回答

3

解決辦法有兩個:

  1. 告訴你的用戶使用新--recurse-submodules=check選項推
  2. 或建立一個server-side hook,檢查爲新的子模塊檢查時,in this answer
+0

我不我認爲這是正確的。這來自git手冊:「當開發人員在子模塊中進行本地更改但不會將其推送到公共服務器時,會出現一個常見問題,然後他們提交一個指向該非公共服務器的指針並推送超級項目。當其他開發人員嘗試運行git子模塊更新時,子模塊系統找不到所引用的提交,因爲它只存在於第一個開發人員的系統上。「 – Rupert 2013-03-08 15:07:24

+0

@Rupert你說得對,我已經更新了我的答案 – CharlesB 2013-03-08 15:10:11

+1

謝謝CharlesB。這看起來不錯。我會檢查出來並可能接受這個答案。 – Rupert 2013-03-08 15:18:17