2013-03-11 84 views
1

我们有一个单一的应用程序与20 +日食项目在一个单一的回购协议。到目前为止,我们还没有分支很多,但我们将尝试使用更多分支功能。在颠覆分支多个项目

每个功能通常会触及项目的子集 - 它可能会触及所有的java项目,或者所有的flex前端项目,或者只是其中的一个或两个。

因此,在分支方面有点缺乏经验,我想知道从仅改变项目创建功能分支是否是一个好主意,或者如果每次都创建每个功能分支与所有项目都是更好的做法 - 每种方法的优缺点可能是什么(我主要担心“部分”解决方案可能存在的问题,比如如果我需要将另一个项目拖入现有分支中)?

+0

我们的所有WebSphere组件都有类似的东西,我们为每个分支分支了您的整个WebSphere代码库,以及我推荐的方式。 – prodigitalson 2013-03-11 18:34:17

+0

尽管我倾向于倾向于这个方向,但您有没有经验来支持这一决定?我最担心的可能是修改分支以外的文件,并认为它是该分支的一部分,但我希望其他问题可能会发生。 – 2013-03-11 18:38:55

+1

那么在某些时候,它总是会回到你的团队的能力范围内,并限制他们对有问题的功能进行修改。这就是说你可以为每个分支设置不同的访问规则。 – prodigitalson 2013-03-11 18:41:34

回答

5

我建议避免分支存储库的一个子集。如果你发现自己真的想要这样做,那么可能值得深思的是,你是否真的需要将事情分解到多个存储库中。

分支本身是用廉价副本制作的,你不会在服务器上为每个分支占用空间。

管理哪些项目存在于哪个分支上会引起混淆,正如您所指出的那样,它也可能是您的团队的一个障碍,无法找出将某个缺失项目的哪个版本复制到分支'它。我敢肯定,我所从事的大多数团队的成员都会抢最新的 - 这可能是需要的,但从概念上来说,这似乎更令我感到困惑。

在两个分支之间看到差异也可能是一个障碍 - 将会有很多森林,因此很难挑选出您实际希望看到的树木。

它完全是分支整个回购的社区标准。我相信你可以做到 - 但你的继任者可能会诅咒你。