2011-05-06 105 views
4

我正在處理幾個不同的Joomla附加組件,但希望將它們作爲單獨的git回購站,因爲它們有不同的開發團隊(甚至組織)。但是,我還想將它們保存爲共享同一個Joomla基礎的單個目錄(該目錄被.gitignore忽略)。由於Joomla的結構,這可能是一個有點複雜,因爲它具有以下結構:Git子項目?

/joomla/ 
|--/administrator/ 
|--|--/components/ 
|--|--|--/component_a/ 
|--|--|--/component_b/ 
|--|--/language/ 
|--|--|--/en-GB/ 
|--|--|--|--/component_a_lang.ini 
|--|--|--|--/component_b_lang.ini 
|--/components/ 
|--|--/component_a/ 
|--|--/component_b/ 
|--/language/ 
|--|--/en-GB/ 
|--|--|--/component_a_lang.ini 
|--|--|--/component_b_lang.ini 

我知道我可以做一箇中央回購和使用分支每個子項目,只是要小心使用正確的遙控器進行正確的子項目。但是有沒有更簡單的方法(子模塊?)將所有子項目保留在同一個目錄中,所以如果我想複製整個項目進行測試,我不必切換分支並使用複製麪食玩?

回答

3

通常我會推薦使用子模塊,但在這種情況下,由於項目結構的原因,它們並不合適。

子模塊被放置在一個目錄中,所以你不能在整個項目中分散它們。

一種可能的問題是將所有這些文件放在一個目錄中,並使用符號鏈接將它們放在正確的位置。但是這有幾個缺點。您需要重新創建每個存儲庫上的所有符號鏈接,並且還會導致Windows用戶出現問題。

3

正如@Ikke所說,代碼遍佈目錄的方式使得使用子模塊來保存這些代碼變得非常麻煩。

我想我只是使用單獨的分支來開發單獨的軌道。他們是「功能」,對吧?或多或少?所以把它們當作功能分支來對待它可能是相當合適的。

如果您的中央存儲庫由gitolite提供服務,則可以設置每個分支的訪問權限來分隔用戶和組。你可以做到這一點,這樣每個人都可以閱讀每一個分支(對測試都很重要),但只有有福的團隊才能推到他們自己的分支。

+0

我不擔心其他用戶,因爲它是我自己的個人回購,然後我推送到多個回購(例如GitHub) – Christopher 2011-05-09 09:20:03

+0

哦。不知道爲什麼我讀你的問題暗示多個用戶...呃,無論如何,它甚至更簡單。這些只是特色分支。 – 2011-05-09 13:13:20