代码分支管理规范
为了规范代码库分支管理和版本管理,使代码分支及版本结构清晰,方便维护,并避免由于维护造成的错误的版本发布等问题。现采用如下分支管理办法:
分支类型
分支包括master分支、develop分支、feature分支、release分支和hotfix分支。
分支详细说明
master分支:在每一版本需求全部开发完成,并且测试通过发布App Store后。将release分支代码合并更新至master分支,并打上对应的版本号标签。
develop分支:保存当前最新开发成果的分支。当现版本所有需求中某一个小需求在其他子分支(feature分支)开发完成后,从子分支更新至develop分支。即develop分支不能存在未开发完成的需求的代码。
feature分支:当一个新版本需求启动并分配完成,准备开发后,从develop分支检出,命名为feature-XXX,如开发首页改版需求可命名为feature-homePageRevision,在此分支开发新需求,开发完成后如需合并只能合并回develop分支,不能合并到其他分支。feature分支可保存在本地,不强制提交到develop分支里(如某一个需求临时不要了)。
release分支:当现版本需求全部开发完成,feature分支的新需求代码已全部合并到develop分支,需要提交测试时,从develop分支检出release分支,命名为release-当前版本号,在此release分支上打包给测试人员并修复反馈的bug,修改bug后可能会需要不间断将代码合并更新至develop分支。当代码测试通过后,从release分支打包提交App Store。审核通过并发布后,将release分支代码合并至master分支和develop分支。
hotfix分支:当线上版本出现bug需要修复时,从master分支检出,命名为hotfix-XXX,如修复某某崩溃,可命名为hotfix-xxCrash。修复完成通过测试后,合并至develop分支,提交App Store发布后,合并至master分支并打上对应版本号标签。