版本升级与版本分支的优缺点

B.E*_*.E. 6 version-control merge branch

在我目前的项目中,我必须决定在分支时使用哪种技术.我有两个选择(我们假设我们已经决定在主干中开发):

版本分支

每当新版本放在测试机器上并将其标记为"release0.1"时创建一个分支.错误在这个分支中被修复(当然然后合并到主干),当这个版本最终生效时,它被标记为"release0.1.1".这导致每个主要版本都有一个分支,每个次要版本都有一个标记.如果必须在实时版本中修复错误,则将其修复为适当的分支,然后合并到主干.

版本推广

只有三个分支"主干"(用于开发),"测试"和"直播".当一个版本放在测试机器上时,主干被合并(提升)到"测试"分支,在该分支中修复了错误,当版本发布时,"test"分支被合并到"实时"分支中.如果我们在"实时"分支中发现了一个错误,它会在那里修复,然后合并到主干.

这两种哲学的利弊是什么?你有什么经历?还有其他 - 可能更好 - 的方法吗?

mou*_*iel 4

这取决于您的维护政策。

如果您选择维护最新版本以上的版本(例如 XP 与 Vista 并行),版本分支是更好的选择。

  • 这正是我的观点。如果您需要同时维护产品的多个“实时”版本,那么您肯定会从版本分支中获得最大的收益。另一方面,如果您正在开发的产品是托管服务(例如 StackOverflow 或 Twitter),那么“版本升级”也开始变得很有意义。 (3认同)