2013-04-25 161 views
5

我最近想從GIT採用submodules與我的Android項目,但偶然發現一些問題。具有相同GIT子模塊的多個Android項目

背景故事

我有多個項目,但許多使用相同的外部庫(的Android庫項目),以使GIT清潔,併爲每個項目的GIT包含所有需要的材料,我雖然爲Android庫項目使用GIT子模塊。這部分工作正常我將庫作爲項目的子模塊包含在內。

問題

但是Android使用這些庫的項目基本上是被添加到項目中的常規項目,我只能在Eclipse中添加一次相同的項目。因此,如果我需要一次處理多個項目,則必須使用Eclipse/workspace的多個實例,而不是常規方式使用Eclipse。

有沒有辦法在eclipse中只有1個我的庫項目實例,同時讓所有的項目都引用它們各自的庫?或者我應該如何處理這個問題的其他建議?

任何幫助是非常讚賞

+0

我一直在處理類似的問題,想知道如何去做這件事。你有什麼想法嗎? – 2013-05-01 18:39:26

+0

@ScottW暫時還沒有... – Warpzit 2013-05-01 19:37:09

+0

[我發佈了這個問題,哈哈](http://stackoverflow.com/questions/16325205/how-do-i-manage-git-submodule-subprojects-in-eclipse) – 2013-05-01 19:43:44

回答

2

不能有庫項目作爲Eclipse的一個單一實例,原因如下。

  • 使用庫的每個項目都可能引用不同版本的庫。由於您的子模塊是特定版本的物理結賬(工作目錄),因此無法在某個時間點代表存儲庫的多於一個狀態

解決方法:

  1. 準備庫項目 「服務器」 的位置。使用git clone --bare創建一個克隆已經足夠了。
  2. 將「服務器」庫項目克隆到工作區中。
  3. 前綴庫項目,以反映它使用的主項目的名稱。
  4. 對您需要庫使用的每個主項目重複步驟2和3。
  5. 每當您在庫項目中進行更改時,請創建一個功能分支。在每個主要項目中考慮新功能是否有用或有障礙。如果它不適合你,顯然需要重寫剛剛創建的功能。當你完成更新庫的版本(不要害羞,使用標籤Semantic Versioning)。
+0

這是可行的,但我不能讓每個項目都包含所有需要的材料......所以有點不理想的解決方案。整個原因是爲了讓每個git包含項目和所有需要的材料。 – Warpzit 2013-05-06 15:11:46

相關問題