我不知道这个问题是否与堆栈溢出有关,或者它应该发布在另一个堆栈交换平台上,但无论如何..
问题是我们在不久的将来会采用的新分支系统。在工作中,我们开发主要的Web应用程序(电子商务,cms,分类,特殊用途)和php中的一些网站,我们的vcs是 svn 。
这是我们想采用的新模式:
中继:始终发展
暂存(分支):创建一个分支来测试远程环境中的新功能(与之相同的系统,实际上是相同的服务器..)
直播(分支):分支直播。
其他分支以开发并发功能。
现在,想法是修复live,然后将更改推回到trunk。 直接在主干或另一个分支上开发功能,然后合并到主干。
将主干推入舞台,为即将上线的新功能做好准备;然后?我们如何才能进入现场分支?我们必须从树干传递?
现在的策略是:
Trunk :这是实时版
每个功能分支
对trunk进行了实时修复,然后推送到分支
暂存是一个工作副本,在合并回主干之前,在功能开发结束时切换分支。
但这种方法有一些缺点:
总是切换..
无法测试两个并发分支
您如何看待新战略?
答案 0 :(得分:0)
我们为大型功能开发提供分支/功能,为实时版本提供发布/ x.y(基本上作为标记,但偶尔因为多个版本同时存在),并且trunk用作发布的暂存。错误修复在主干上进行,并根据需要有选择地推送到任何分支或发布版本。
Trunk通常在我们的登台服务器上运行(不同的硬件,仅限内部访问),一旦稳定,我们会将其标记为新版本并将其部署到实时硬件。
您没有说明您使用的源控制系统,但大多数都有建议的策略(http://svnbook.red-bean.com/en/1.0/ch05s04.html#svn-ch-5-例如,sect-6.1)。