项目管理者联盟
我建议以此格式绘制你的分支图,而且可以将其挂到团队所在房间的墙上。在讨论集成问题时参考此图真的很有帮助。项目管理者联盟
所有的变更都应沿着所在的线索发展,这是一条很重要的规则!所以不能直接从团队A的工作分支向团队B的工作分支中合并代码,这会导致很多混乱。实际上,在团队A工作分支中发生的变更应该流回到主线中,再向下进入到团队B的工作分支中。项目管理者联盟
任何位于主线之上的代码线都可以称为发布代码线,意味着一个比主线更坚固的代码线。项目管理者联盟
任何位于主线之下的代码线都可以称为开发中代码线(或工作代码线),意味着一个比主线更柔软的代码线。项目管理者联盟
协作黄金规则:项目管理者联盟
-总是接受稳定的变更。项目管理者联盟
-绝不强制使用会导致不稳定的变更。www.mypm.net
那么这对于不同类型的代码线意味着什么呢?项目管理者联盟
项目管理者联盟
上图以彩色的方式说明了:项目管理者联盟
任何时候在发布代码线上的变更,都应该立即合并到其基线中,并发布到主线上。项目经理圈子
例:在2.4.2版本中修复了一个bug。这应该立即合并到2.4版本中,并将其合并到主线上。项目管理者联盟
一个发布代码线永远不要从其基线接受变更。项目管理论坛
例:新的代码检入到主线中。该变更不应进入2.3版本和2.4版本。项目管理者联盟
变更应持续从基线流入到开发代码线中。项目管理者联盟
例:任何针对主线的变更应该迅速向下流入到团队A和团队B中,并从团队A向下流入团队A的spike中。项目管理者联盟文章
开发代码线的变更只有处于稳定点时才能发布到基线中。项目管理者联盟
例:团队B只有在一个故事完成并通过测试后才能向主线合并变更。项目管理者联盟
无论变更何时应用到代码线及其基线,有些合并是必须要做的。因为代码合并是一个很容易犯错误的操作,我们希望在两条代码线中稍柔软的一条上进行。一旦合并完成而且通过检验,我们就可以将合并的代码复制回更坚固的代码线。项目管理者联盟
将坚固代码线比柔软代码线绘制得更高,使用这个惯例,我们可以推出一个简单的规则:项目管理者联盟
规则: 向下合并,向上复制项目管理者联盟
示例:团队A注意到主线已经更新了。他们将变更向下合并到自己的开发代码线,并修复任何冲突。只要团队A的开发代码线达到稳定的一个点,他们就可以将代码复制回主线。当然,他们必须检查同时主线上没有发生任何变更。项目管理者联盟
模型的变种项目管理者联盟
“版本控制模式”一节描述了一个如何实施主线模型的范例。项目管理者联盟
|