使用源代码控制时,我习惯的工作方式是在主干上进行开发,然后在进入 QA 之前对主干进行分支。
我正在与部门中的其他一些人交谈,显然对不同的工作方式有一些热情的看法,这将是在开发周期的一开始创建新分支,在该分支上进行开发工作,然后将其合并回最后的主干。这种方法的想法是保持树干原始。
虽然我对一位支持者声称后一种方法是“标准”方法的说法非常怀疑(尽管很高兴被告知不是这样),但如果听到它相当普遍,我不会感到惊讶。我可以想象这样做有一些好处(更容易选择何时部署哪个功能或一组功能),但也有一些缺点(潜在的合并问题,因为每个分支都必须合并回主干)。
做了一些后续研究,发现了这个:http://www.lostechies.com/blogs/derickbailey/archive/2009/07/15/branch-per-feature-source-control-introduction.aspx
很想听听人们对这些方法的相对优点和缺点的看法,以及人们可能使用的任何其他方法。
最佳答案
这是一个与之前的 SO 项目非常相似的问题:
Subversion - should anyone be developing off the trunk?
不完全相同,但响应中的许多概念是相同的。
我个人的看法?主干用于主动开发;您想要保持“原始”的旧版本的开发线应该保存在版本分支(以及发布标签)中。即使在主干上进行积极的开发,您仍然可以尝试维护“主干应该始终编译”的格言。
关于svn - 源代码控制分支的不同方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1332746/