2013-06-28 48 views
6

我已经将我一直致力于此的代码从单个maven项目分离到多个maven项目。我已经结束的项目可以用于未来的项目,它们几乎都是图书馆。因为一切都在一个项目中,所以我一直在使用一个Git仓库。然而,在模块化之后,我不知道是否应该为每个Maven项目创建一个Git存储库。我认为这是做到这一点的正确方法,但我想听听其他人对此的看法。既然这些项目可以作为独立的组件工作,他们也应该拥有自己的Git仓库?另一个选择是为我目前正在开发的项目开发同一个Git存储库中的所有项目。模块化Maven项目和多个Git存储库

+0

您打算如何使用它同样会影响决策。你是否更愿意将模块作为独立模块进行分离? – velo

+0

这真的归结为“你想怎么做?”。对此没有“正确的”答案。无论哪种方式都很好。 –

回答

2

既然项目可以作为独立的组件工作,他们也应该拥有自己的Git仓库?

这实际上是用于定义git仓库,这将代表文件的相干组具有自己独立的历史的主要标准之一(包括其组支路的和标签)

这具有附加好处是一些其他项目取决于一些但不是所有的组件都不会克隆完整的唯一git回购(其中包含的所有内容,包含的组件不需要)。
其他项目可以克隆并从所需组件的确切子集中受益。

这叫做component approach, as opposed to the system approach

+1

是的。我会补充说,你可能想要消除你可能拥有的任何父母。这样,你可以真正发展两个模块独立。如果这很不方便,因为你的模块实际上是紧密耦合的,模块化将导致比它解决的问题更多的问题。在Java中,这是一种反模式,人们将每个软件包转换为模块,最终花费太多的时间来完成发布,构建等。 –