具有相同GIT子模块的多个Android项目

时间:2013-04-25 13:36:47

标签: android eclipse git git-submodules

我最近希望从submodules采用我GIT项目中的Android,但偶然发现了一些问题。

背景故事

我有多个项目,但很多项使用相同的外部库(Android库项目),以使GIT更清洁,并使每个项目的GIT包含我使用的GIT子模块所需的所有材料Android库项目。这部分工作正常我将库作为项目的子模块包含在内。

问题

但Android使用这些库项目,这些项目基本上是一个添加到项目中的常规项目,我只能在Eclipse中添加一次相同的项目。因此,如果我需要一次处理多个项目,我必须使用Eclipse / workspace的多个实例,而不是以常规方式使用Eclipse。

有没有办法在eclipse中只有一个我的库项目实例,同时所有项目都引用了各自的库?或者我应该如何处理这个问题?

非常感谢任何帮助

1 个答案:

答案 0 :(得分:2)

由于以下原因,无法将库项目作为Eclipse中的单个实例。

  • 使用该库的每个项目都可能引用该库的不同版本。由于您的子模块是特定版本的物理结帐(工作目录),因此无法在某个特定时间点表示存储库的多于一个状态

解决方法:

  1. 为库项目准备“服务器”位置。使用git clone --bare创建克隆就足够了。
  2. 将“服务器”库项目克隆到您的工作区。
  3. 前缀库项目以反映其使用的主项目的名称。
  4. 对需要使用库的每个主项目重复步骤2和3。
  5. 每次在库项目中进行更改时,都会创建一个功能分支。在每个主要项目中,考虑新功能是否有用或阻碍。如果它不适合你,显然需要重写你刚刚创建的功能。完成后更新库的版本(使用Semantic Versioning标签时不要害羞。)