2013-04-25 162 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

相关问题