转载:复杂场景下的Git分支工作流是怎样的?(极课时间-每日一课视频内容)

    GitLab 是一个用于仓库管理系统的开源项目,使用 Git 作为代码管理工具,并在此基础上搭建起来的 Web 服务,用于基于 Git 的团队协作,并得到了各组织的广泛应用,接下来就以 GitLab 社区版本为基础,谈一谈在产品持续迭代和项目级交付的混合场景下,如何定义分支工作流。

    环境分支工作流,顾名思义,就是以发布环境为导向的分支工作流,最基本分为测试环境,预发环境和生产环境,现在我们来做个分支对应映射。

    其中 Master 分支对应测试环境,Pre-Production 分支对应准生产环境,Production 分支对应生产环境,注意这三个分支都是受限分支,只有 Leader 或相应被指派人才有权限进行管理。

    image.png

    有了分支定义后,我们来定义下分支流,分支流有几种不同的方式,例如 GitHub 的 Pull Request,GitLab 的 GitFlow,GitLab 的 Merge Request 等。

    现在我们来看环境分支工作流,首先,每位组员 fork 库到自己的空间,并自己随意在自己的空间开发 Feature,当要部署到测试环境时,不论是 Feature 还是 HotFix 分支,创建 Merge Request 合并到 Master 分支,一旦测试完成,我们就可以将 Master 合并到预发/准生产环境分支 Pre-Production 了,这时需要创建 Merge Request,合并 Master 分支到 Pre-Production 分支,在预发/准生产环境验证完以后,就到最后一个环节了,生产环境上线,这时不用创建 Merge Request ,可以直接合并 Pre-Production 分支到 Production 分支。

    作者:殷建卫 链接:https://www.yuque.com/yinjianwei/vyrvkf/gp49gb 来源:殷建卫 - 架构笔记 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。