一、分支管理

《分支模型介绍》中有聊到很多种分支管理模型,我们也可以根据自身团队的情况来构建合适的分支管理办法.

有许多的软件企业不需要太精细化的管理办法,毕竟办法越精细,其管理成本就会越高。

以下是一个以tag为基础的分支管理办法

产品分支管理与团队协作_分支管理

整个的分支管理办法很简单,不要求必须将代码合并回main分支,也不强制要求是否删除版本分支或特性分支,但每次发布都必须以tag为准,每次bug修复完后也要打对应的tag,后续迭代也是从tag中检出分支进行迭代(也可以保留版本分支,并从当前最新版本分支创建新的版本分支)。

同时,在未完成最终发布前,tag也是可删除再创建的。例如虽然打了tag但发现了bug,同时版本还未正式发布,此时可修改完bug,删除原有tag后重新打(但如果已经将jar包推送到了maven仓库,那估计得修改版本号了~)。


二、团队协作

下图展示了产研团队与交付团队,在产品打造到客户交互过程中的协作过程

产品分支管理与团队协作_迭代_02

上图展示的是不基于产品源码的二开方式,根据情况也可以是直接fork出产品的代码仓库进行二次开发。上面的分支管理办法也可以满足二开时的分支管理需求。