目前所在公司开发的系统为一个基础版本(通用版)包含了行业内一些基础功能实现,后期根据不同厂家进行定制版的开发,考虑独立项目的话代码维护不太方便,并且如果通用版本有变动的话,其他定制版本也都需要进行变动。
**gitflow工作流**
公司之前采用svn进行维护代码,最近才开始进行转变到用git 进行维护,在学习的过程中对比了一番最终选择采用gitflow工作流进行管控,
具体介绍如下:
**master分支**:主分支,可随时交付给用户使用的版本
**dev分支**:开发分支,项目组内用于开发的分支,并且保证该分支代码是可运行
**feature分支**:功能分支,项目中开发新需求或者修改bug都在此分支上进行。
**release分支**:测试分支,开发完成之后,基于dev创建该分支
**hotfix分支**:bug修复分支,用于修复bug,发现bug创建此分支进行修复,基于release或者master分支创建
由于现在处于开发阶段故现在对分支的维护方面没有那么完善,而且公司内部没有测试人员,现在的测试流程都是写完代码内部自己进行测试,现在进行开发的时候一般都是基于dev分支创建feature分支:
**创建feature分支以及合并方案**
* 当前处于dev分支或者release分支,基于dev或者release创建新分支
* 创建新功能分支并且切换到该分支,当该功能开发完毕之后,如果该功能开发周期较长,每天从dev分支合并到功能分支上,避免跟dev分支差异较大
* 当功能开发完成合并到dev或者release分支当中,完成之后删除本地分支,避免本地分支过多,分不清功能是否合并。
**创建r