从技术上将,这意味着,Alice创建了一个Git的远程节点,而对于Bob,该节点指向了Bob的版本库,反之亦然。
主分支
在核心部分,研发模型很大程度上靠其他现有模型支撑的。中心库有2个可一直延续的分支:
master分支
develop分支
每个Git用户都要熟悉原始的master分支。与master分支并行的另一个分支,我们称之为develop分支。
我们把原始库/master库认作为主分支,HEAD的源代码存在于此版本中,并且随时都是一个预备生产状态。
辅助性分支
我们的开发模型使用了各种辅助性分支,这些分支与关键分支(master和develop)一起,用来支持团队成员们并行开发,使得易于追踪功能,协助生产发布环境准备,以及快速修复实时在线问题。与关键分支不同,这些分支总是有一个有限的生命期,因为他们终会被移除。
我们用到的分支类型包括:
功能分支
发布分支
热修复分支
每一种分支有一个特定目的,并且受限于严格到规则,比如:可以用哪些分支作为源分支,哪些分支能作为合并目标。我们马上将进行演练。
从技术角度来看,这些分支绝不是特殊分支。分支的类型基于我们使用的方法来进行分类。它们理所当然是普通的Git分支。
功能分支
可能是develop分支的分支版本,终必须合并到develop分支中。
分支命名规则:除了master、develop、release-*、orhotfix-*之外,其他命名均可。
功能分支(有时被称为topic分支)通常为即将发布或者未来发布版开发新的功能。当新功能开始研发,包含该功能的发布版本在这个还是无法确定发布时间的。功能版本的实质是只要这个功能处于开发状态它会存在,但是终会或合并到develop分支(确定将新功能添加到不久的发布版中)或取消(譬如一次令人失望的测试)。