这种分支策略是否适用于Web开发生态系统?

时间:2011-02-04 16:50:42

标签: svn branch

我不知道这个问题是否与堆栈溢出有关,或者它应该发布在另一个堆栈交换平台上,但无论如何..

问题是我们在不久的将来会采用的新分支系统。在工作中,我们开发主要的Web应用程序(电子商务,cms,分类,特殊用途)和php中的一些网站,我们的vcs是 svn

这是我们想采用的新模式:

中继:始终发展

暂存(分支):创建一个分支来测试远程环境中的新功能(与之相同的系统,实际上是相同的服务器..)

直播(分支):分支直播。

其他分支以开发并发功能。

现在,想法是修复live,然后将更改推回到trunk。 直接在主干或另一个分支上开发功能,然后合并到主干。

将主干推入舞台,为即将上线的新功能做好准备;然后?我们如何才能进入现场分支?我们必须从树干传递?

现在的策略是:

Trunk :这是实时版

每个功能

分支

对trunk进行了实时修复,然后推送到分支

暂存是一个工作副本,在合并回主干之前,在功能开发结束时切换分支。

但这种方法有一些缺点:

  • 总是切换..

  • 无法测试两个并发分支

您如何看待新战略?

1 个答案:

答案 0 :(得分:0)

我们为大型功能开发提供分支/功能,为实时版本提供发布/ x.y(基本上作为标记,但偶尔因为多个版本同时存在),并且trunk用作发布的暂存。错误修复在主干上进行,并根据需要有选择地推送到任何分支或发布版本。

Trunk通常在我们的登台服务器上运行(不同的硬件,仅限内部访问),一旦稳定,我们会将其标记为新版本并将其部署到实时硬件。

您没有说明您使用的源控制系统,但大多数都有建议的策略(http://svnbook.red-bean.com/en/1.0/ch05s04.html#svn-ch-5-例如,sect-6.1)。