git分支环境梳理
git分支环境梳理
1. 分支说明
- feature:功能开发分支,多条(feature/*),能够支持并行的开发,提高研发效率
- develop:开发集成分支,在开发阶段解决功能集成问题。
- release:集成测试分支,只有一条。少数情况下,可有两条。
- master:线上代码主干分支,只有一条
- hotfix:热修复分支,多条(hotfix/*),用于解决需紧急修复的线上问题
说明1:Develop分支的数量差异:在各团队实操过程中,由于Feature粒度和开发模式的差异,有团队将若干Feature作为开发阶段的分支,有团队创建多条develop分支用于功能自测。
说明2:Release分支一般情况下只有一条,只有在要求并行集成测试的场景下,才可能出现两条Release分支,见下 “双Release分支流程”,相应的会引入更多风险。
2. 环境说明
- 开发环境:Mac+骨干泳道,用于RD开发
- 联调环境:联调泳道,用于多个服务之间的联调
- 功能测试环境:QA测试单个/多个功能的环境
- 集成测试环境:QA测试迭代内全部功能的环境
- 预发布环境:简称ST环境,重点测试环境差异因素造成质量问题
- 沙箱环境:简称sandbox环境,用于基于沙箱的灰度上线。
- 生产环境:简称prod环境,用户使用的环境
泳道相关内容,详见《RD侧推广泳道》
pro(Production environment):生产环境,面向外部用户的环境,正式环境,连接上互联网即可访问。
sit(System Integration Test ): 系统集成测试,开发人员自己测试流程是否走通。
uat(User Acceptance Test environment): 用户验收测试环境,用于生产环境下的软件测试者测试使用。
test: 测试环境,外部用户无法访问,专门给测试人员使用的,版本相对稳定。
pre :灰度环境,外部用户可以访问,但是服务器配置相对低,其它和生产一样,外部用户可以访问,版本发布初期,正式版本发布前。
dev (Development environment) : 开发环境,外部用户无法访问,开发人员使用,版本变动很大。
fat (Feature Acceptance Test environment) : 功能验收测试环境,用于软件测试者测试使用
3. 分支、环境和权限对应关系
环境 分支 权限 开发环境 feature RD:Create/Merge/Delete权限 联调环境 develop RD:Leader:Create/Merge/Delete权限 feature RD:Create/Merge/Delete权限 功能测试环境 develop RD Leader:Create/Merge/Delete权限 feature RD:Create/Merge/Delete权限 集成测试环境 release QA:Create/Merge/Delete权限 预发布环境 master / hotfix RD Leader:master分支Merge权限 RD Leader:hotfix Create/Merge/Delete权限 沙箱环境 master / hotfix RD Leader:master分支 Merge权限 RD Leader:hotfix分支 Create/Merge/Delete权限 生产环境 master / hotfix RD Leader:master分支 Merge权限 RD Leader:hotfix分支 Create/Merge/Delete权限
eg:RD,即 Research & Development,指研发工程师