【问题标题】:Choosing best branching model for common framework based different applications development为基于通用框架的不同应用程序开发选择最佳分支模型
【发布时间】:2011-12-30 21:18:48
【问题描述】:

我阅读了许多关于版本控制系统的文章,如 SVN、Git 和各种分支模型(基于功能、基于发布等),但似乎没有一篇不符合我们的项目要求。

我们(团队)将开发一个框架,该框架将用作不同应用程序的核心。因此,将有一个框架和多个基于该框架构建的不同应用程序。每个应用程序都有通常的项目周期:构建、发布……框架本身不会发布,但可能标记了不同的版本。在应用程序的开发过程中,我们希望将一些通用特性提交到框架中(如果我们认为该特性很棒并且未来的应用程序应该有它)。

所以每个应用程序就像框架的一个单独分支,但它永远不会完全合并回来(因为它是一个单独的应用程序)并且需要对框架(主干)进行一些提交。一些在线文章,例如提交(没有将整个分支合并到主干)给出了反面例子,所以我们很困惑。

对于这样的开发周期,您推荐什么版本控制系统和分支模型?

【问题讨论】:

    标签: branching-and-merging


    【解决方案1】:

    所以每个应用程序就像框架的一个独立分支,但它 永远不会完全合并回来(因为它是一个单独的应用程序) 并且需要对框架(主干)进行一些提交。网上的一些 此类提交的文章(不将整个分支合并到主干)给出为 负面的例子,所以我们很困惑。

    这部分让我有点害怕。如果您要拥有一个框架,那么您需要像处理任何其他代码块一样照顾它,并且您不希望出于任何原因运行多个版本,除了维护现有版本或在未来版本上工作。因此,您的每个“应用程序”项目都可以有一个分支,它们可以根据应用程序的需要修改框架,但我建议经常更新框架主干,以便它以最能满足所有应用程序需求的方式发展。一般来说,在为代码进行分支时,您希望与 master 同步并尽快将代码放回 master,以避免大量工作处理合并,并让其他人从工作中受益。

    您应该将您的框架放在一个单独的区域(或存储库,如果您使用的是 git 或 hg 等 DVCS),以便它与众不同,并且在必要时可以有自己的发布周期。

    DVCS 近来风靡一时,git 和 hg 是最流行的,所以你应该研究一下它们。他们有不同的处理分支的方法。它们的强大之处在于没有集中存储库,因此对于大型团队来说更加灵活和可靠。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-10
      • 1970-01-01
      • 1970-01-01
      • 2011-11-17
      • 1970-01-01
      • 1970-01-01
      • 2018-06-12
      • 2011-07-13
      相关资源
      最近更新 更多