我知道这与编码无关。但这对于编码很重要,所以在这里发帖。
Trunk,Branch是什么意思。
SVN中的发布流程如何进行?
我有4层。
什么应该成为树干?
答案 0 :(得分:1)
主干通常(但并非总是)代表每个人在正常开发过程中贡献的主线活动代码库。分支是通过分叉主干(或另一个分支)创建的。 Subversion对此的支持并不是很好(即使在近几年解决了一些主要问题之后),并且大多数团队都避免使用它,不幸的是,这意味着他们通常被困在主干身上。
您可以使用的一种实用方法是在发布时创建发布分支。这使得团队可以继续在主干上开发产品,而支持人员可以在新分支上修复已发布产品的错误。这通常可以正常工作,因为主干和当前发布分支之间没有太多的合并活动,并且当它存在时,它很少是结构性的(移动,重命名等,对Subversion中的分支和合并产生可怕的影响)
答案 1 :(得分:1)
一般来说,工作流程通常是针对特定团队/项目而定制的。
我使用了以下工作流程:
Trunk是主要产品趋势的地方。它包含当前开发的版本或产品。
为产品的所有已发布版本创建分支。修补程序和次要更新在分支中完成(然后构建,测试并交付给最终用户)。类似的修复也被提交到trunk(或者稍后从分支合并)。
有时会为大型功能创建单独的分支,当功能开发由开发人员组完成时,和/或可能会显着影响其他开发人员。这种方法的优点是值得怀疑的,并且取决于具体情况,因为SVN中的合并过程有时很昂贵。
开发人员的机器只保留工作副本,版本开发人员目前正在处理。开发人员经常更新,并修复所有冲突。此外,开发人员经常使用即用型代码进行提交。
产品经常构建和测试 - 这样可以尽快找到新引入的错误。
合并程序在SVN中相当昂贵。进一步的工作流程复杂化可能导致痛苦的合并。顺便说一句,有些团队成功应对了这一点。
我建议您查看分布式版本控制系统。 Joel Spolsky的这篇文章很好地描述了他们的主要优势:http://www.joelonsoftware.com/items/2010/03/17.html
回答您的具体问题,我可能会提出以下建议(顺便说一下,我看不到整个开发过程,所以这可能不适用):
在主干中执行主动开发。 Trunk版本安装在测试服务器上。
当接受产品发布时,会创建新分支。此版本安装在生产服务器上。
进一步的产品开发也是在行李箱中进行的。
修补程序在相应的分支中生成。分支版本在测试服务器上进行测试,然后交付给生产。