希望通过下面的一些问题+解答,能对大家管理一个站点的分支有帮助。

相关概念准备:

文章开始之前,对相关概念做个统一:

  • 主干分支:master分支
  • 日常测试分支:test分支

正文:

  • 新任务拉分支的时候有哪些情况,对应的方案是?

    • 新任务类型?
      • 如果是紧急修复hotfix任务(一般当天或者下个发布日发布),则看以下情况(ps: 提测时使用hotfix分支发布各个环节,但是需要记得把hotfix分支合并到test分支):
        • master分支是否包含产线最新的代码:
          • 是,从master分支拉取,分支命名:hotfix_20191209(拉取分支当天的日期)
          • 否:
            • 联系配管将之前发布的代码tag合并到master,合并后拉取hotfix分支;
            • 或者 自己基于之前拉好的“和产线分支代码一致的分支”新拉hotfix分支;
      • 常规开发任务:
        • 任务上线时间确定为dateA:
          • test分支上不包含dateA之后才能上线的代码:基于test分支拉取新分支feature/;
          • test分支上包含dateA之后才能上线的代码:拉取分支原则参考hotfix任务;
        • 任务上线时间不确定:
          • 拉取分支原则参考hotfix任务;
  • 提测前合并分支需要考虑哪些情况&对应的方案?(其中需要考虑同一站点,多版本同时提测)

    • 此任务上线日期dateA是否确定?

      • 确定

        • dateA发布时,test分支上的东西都能被一起带上产线?
          • 能,则代码直接合并test分支,后续一路上uat、产线都用test分支发布;
          • 不能,检查master分支是否和产线环境代码保持一致?
            • 不一致:
              • 让配管将上次发布的代码合并到master分支;
              • 或者 站点管理员基于纯净的test分支(和产线环境代码保持一致),拉取一个test_20191209(拉取分支当天的日期)分支,作为备用分支;
            • 一致:
              • 测试环境(特指sit环境)都合并test分支发布,集成测试;
              • 需要上uat时,将开发分支合并到“和产线代码一致的分支”上(或者下一个发布日需要发布的分支):
                • master分支拉出来的分支,release_20191209(不是上uat当天的日期,而是任务发布日期);
                • 或者当时作为备用的纯净分支(test_20191209);
      • 不确定,检查有无纯净分支(和产线环境代码保持一致的分支)

        • 有:
          • 测试环境(特指sit环境)都合并test分支发布,集成测试;
          • 需要上uat时,将开发分支合并到“和产线代码一致的分支”上(或者下一个发布日需要发布的分支):
            • master分支拉出来的分支,release_20191209(不是上uat当天的日期,而是任务发布日期);
            • 或者当时作为备用的纯净分支(test_20191209);
        • 无:
          • 确保有一个纯净分支:
            • 让配管将上次发布的代码合并到master分支;
            • 或者 站点管理员基于纯净的test分支(和产线环境代码保持一致),拉取一个test_20191209(拉取分支当天的日期)分支,作为备用分支;
          • 后续操作通上面的情况“有”