如何使用GIT处理深层嵌套项目中的共享库

时间:2014-04-22 22:47:14

标签: git git-submodules

我们有一个非常常见的库将被很多小项目使用。目前,我们使用子模块将库添加到小项目中,稍后的小项目将用作扩展功能项目的子模块等。

然后问题来了,项目变得越来越大。它有一些嵌套的子模块,其中一半以上是公共库。当我查看超级项目时,我不想查看数百次相同的公共库。

用GIT做这件事有更好的方法吗?

感谢。

2 个答案:

答案 0 :(得分:1)

您可能需要查看using git subtree博客帖子使用子树而不是子模块进行比较。

我们不使用子树或子模块。相反,我们通过使用maven存储库来解决此问题,我们在其中发布常见的jar文件。这与允许您声明版本化依赖项的构建系统一起解决了许多问题。

答案 1 :(得分:0)

好吧,似乎你不能使用普通的git(w /子模块),因为子模块与项目紧密绑定。在此配置中,所有项目都必须同时切换到共享库的下一个提交,库文件夹的路径是提交的一部分等。但是,您的用例可能需要构建配置不会成为源树的一部分,而不是外部实体。 Android OS开发人员创建了一个名为Repo的项目,该项目将独立项目绑定到构建配置中。因此,对于每个可能的组件变体,我们创建一个单独的构建配置,然后独立于组件源本身而彼此独立地发展。