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版本,并进行测试。

参考文章

实际项目中如何使用Git做分支管理_ShuSheng007的博客-CSDN博客_git项目分支管理

dev分支和release是什么 - 明和乐儿 - 博客园

目前实际应用:master永不上线,每次有新需求会从master拉一个以需求名_日期的新dev分支(dev_A),待需求开发完成后,再从master拉一个上线release分支(releaseA),将这段时间内团队各成员开发的各需求dev分支(如dev_A、dev_B)合并到releaseA,releaseA作为当前版本上线部署,并在上线后合并代码到master分支。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐