在发布之后,马上将发布分支合并到主干之上(这样补丁程序就会包含在未来的发布版本之中)。项目管理者联盟
项目管理者联盟
注意我们在发布1.0.0版本时没有必要创建“发布1.0”分支,可以等到问题出现时再做。这样以来,除非真的需要建立某个分支以让我们对其做些什么,我们就不必创建额外的分支。pmp.mypm.net
大图景项目管理者联盟
好,现在我已经给出了如何使用该模式的详细范例。让我们往后站一点儿,看看整个的图景是什么样子吧。项目管理者联盟
在主线模型中,一个分支被称为一条代码线(实际上,分支可以被人物是一条代码线的实现)。有时这些被成为流。PgMp.mypm.net
一条代码线的上级(也就是该代码线的起源代码线)被称为它的基线。主线是没有基线的代码线。项目管理者联盟
所以在上面的例子中,我们可以总结出:项目管理者联盟
主干是我们的主线。它不就是没有上级么?talent.mypm.net
其他所有代码线(发布版本1.0,团队A的工作分支,团队B的工作分支)都以主干作为基线。talent.mypm.net
下面是一个更复杂的例子:training.mypm.net
项目管理者联盟
这个图告诉我们:talent.mypm.net
项目X的代码线衍生自主线。该项目目前已完成,所以分支就结束了。项目管理者联盟
团队A有一个衍生自主线的活跃工作分支。项目管理论坛
团队A还有一个衍生自工作分支的、正在进行中的Spike(译注:Spike是指团队集中精力在短时间内尝试实现一个功能的活动。)。club.mypm.net
发布版本2.3已关闭,因为2.3已经从生产系统中撤出而且不再会被维护。blog.mypm.net
每条代码线有一个相对其基线的坚固水平,也就是说每条代码线要不就比其基线更坚固,要不就不及其基线坚固(更柔软)。club.mypm.net
一条坚固的代码线是稳定的,通过测试的,很少变更而且临近发布。项目管理论坛
一条柔软的代码线不稳定,很少测试,经常变更而且远离发布。training.mypm.net
在绘制代码线时,坚固的代码线分支向上,而柔软的代码线分支向下。观察上图,我们可以总结出:项目管理者联盟
发布版本2.3比主线更坚固。talent.mypm.net
团队A的工作分支比主线更柔软。项目管理者联盟
团队A的spike比团队A的工作分支更柔软。pmp.mypm.net
使用上述描述绘制图表,对于展示分支历史来说很有用;但是如果同时有很多分支存在,就可能带来混乱。下面是一个更清晰的格式,仅展示了当前存在的代码线以及它们的衍生出处。项目管理者联盟
|