我正在使用GIT來管理內容管理系統(CMS)項目。 CMS可以有多個插件(模塊)。Git子模塊或子存儲庫或遠程?
所以基本上,我想有3種類型的存儲庫:
- 核心CMS開發(每個新項目是去年穩定&未配置的版本結帳)每個模塊/插件
- 1庫。 (每個新項目將簽出他們想要實現模塊的最新穩定版本)每個項目
- 1庫(每個客戶端將是表示從核心CMS和模塊的個性化信息庫)
對於類型1 & 2,我想這是簡單的基本知識庫。 但是,當它來到客戶項目,我會感到困惑:
- 首先我會克隆CMS,然後再在/模塊/文件夾,然後再克隆所有需要的模塊?這將在存儲庫中創建一個存儲庫!第一個回購會嘗試記錄每個模塊的.git /文件夾嗎?
- 我無法使用子模塊,因爲每個客戶端都需要對其模塊進行個性化設置。
- 如果我修改模塊的核心組件(而不是個性化,只是一個錯誤修復),我可以將單個文件推送到原始模塊存儲庫嗎?
- (不說話的模塊單元測試是將各地分散的)
所以,問題是: 我應該如何組織庫(S)/文件/文件夾,以提高效率?
嗯,我讀過了git help submodule,他們說:「它們不能與遙控器相混淆,遙控器主要用於同一項目的分支機構;子模塊用於您想要參與的不同項目的源代碼樹,而兩個項目的歷史仍保持完全獨立,並且不能從主項目內修改子模塊的內容。「 ...在我的情況下,我想要修改客戶端項目中的子模塊,以防需要個性化插件。現在你告訴我,我們可以修改子模塊? – FMaz008 2011-03-27 11:39:58
是的。修改客戶端的插件代碼,提交併將更改推送到(2),然後轉到客戶端的CMS代碼,並提交併將更改推送到插件(更新SHA哈希)爲(1)。 – 2011-03-27 23:19:11
好吧,聽起來像一個很好的答案,但我仍然有一個關於文件夾組織/結構的補充問題:http://stackoverflow.com/questions/5461617/using-git-and-submodule-whats-a-good-folder -結構體 – FMaz008 2011-03-28 15:50:31