首先明确 和后端开发不同 客户端性质的 需要对外发布的版本 而且可能需要对特定版本打补丁修复

Master分支:主干分支,也是正式发布版本的分支,其包含可以部署到生产环境中的代码,通常情况下只允许其他分支将代码合入,不允许向Master分支直接提交代码(对应生产环境)。
Develop分支:开发分支,用来集成测试最新合入的开发成果,包含要发布到下一个Release的代码(对应开发环境)。
Feature分支:特性分支,通常从Develop分支拉出,每个新特性的开发对应一个特性分支,用于开发人员提交代码并进行自测。自测完成后,会将Feature分支的代码合并至Develop分支,进入下一个Release。
Release分支:发布分支,发布新版本时,基于Develop分支创建,发布完成后,合并到Master和Develop分支(对应集成测试环境)。
Hot fix分支:热修复分支,生产环境发现新Bug时创建的临时分支,问题验证通过后,合并到Master和Develop分支。

每次合并 feature,主分支的代码是立即发布的。
然而,实际中常常不能满足这个假定,如:你无法控制代码发布时间,App 发布要等审核通过,发布时间窗口限制,合并分支的时候也许并不在发布时间窗口。
https://www.sohu.com/a/339133558_487103

GitLab 使用production分支来解决上述问题
