master(主分支)
存在一条主分支(master)。
所有用户可见的正式版本,都从master发布(也是用于部署生产环境的分支,确保master分支稳定性)。
主分支作为稳定的唯一代码库,不做任何开发使用。
master 分支一般由develop以及hotfix分支合并,任何时间都不能直接修改代码
develop(开发分支)
存在一条开发分支(develop)。这个分支维护了当前开发中代码的主线,始终保持代码新于master以及bug修复后的代码。
持续集成、最新隔夜版本的生成等都是基于这个分支。由于当前版本迭代较快,开发分支只提供拉取,不进行实际开发。一般开发的新功能时,feature分支都是基于develop分支下创建的
feature(功能分支)
临时性多个功能分支(feature)
开发新功能时,以develop为基础创建feature分支。
从develop拉取。开发feature完成,merge回develop。为了降低对其他feature的影响,一般在提测前merge回develop分支。
分支命名: feature/*开头的为特性分支, 命名规则: feature/user_module、 feature/order_module
hotfix(修补bug分支)
临时性多个bug修复分支(fixbug),用于修复线上问题。
从master拉取,修复并测试完成merge回master和develop。如果修复期间,有其他版本合并入master ,需要同步到fixbug版本,并进行测试。
分支命名: hotfix/*开头的为修复分支,它的命名规则与 feature 分支类似
release(预发布分支)
临时性多个预发布(测试)分支(release)
release 为预上线分支,发布提测阶段,会release分支代码为基准提测
用于QA测试。从develop拉取,测试完成merge回master和develop。如果测试期间,有其他版本合并入master,需要同步到release版本,并进行测试。
总结:dev包和rb包==功能测试包,最后都会合到master分支去发布上线生产环境。