zoukankan      html  css  js  c++  java
  • git

    项目发布流程

    • 功能开发
    • 提交测试
    • 提交预发布测试
    • 提交生产测试
    • 完成

    分支定义:

    • 按存在周期:

      • 长期分支:存在整个项目开发过程中,masterdevelop
      • 短期分支:存在一段时间,(上个版本完成到下个版本完成 等)testrelease
      • 临时分支:功能分支,(用于开发的具体功能的分支 功能完成后删除)feature
      • 及时分支:修复分支,(用于修复 bug 完成后立即删除)bugfixhotfix
    • 按功能用途:

      • 功能性分支:
      • 生产分支:master
      • 基础开发分支:develop
      • 测试分支: test
      • 预发分支:release
      • 开发分支(编码分支):
      • 功能分支:feature
      • 修复分支: bugfixhotfix

    分支合并及提交策略:

    • 功能性分支不允许直接提交代码,只允许合并和解决冲突提交。
    • 所有功能开发分支从基础开发分支检出
    • 合并需由开发分支向功能分支合并
    • 合并由下游分支向上游分支合并

    开发流程:

    • 新功能开发:从基础开发分支 develop 检出 feature/xxx
    • 功能自测完成:合并 feature/xxxtest,提交测试
      • 测试通过:等待合并到 develop 进入下一环节
      • 测试未通过:在 feature/xxx 修复问题 合并到 test 提交测试
      • 注意:不建议从 test 检出 bugfix 修复问题;禁止在 test 上修改并提交;
    • 测试完成,进入下一环境(预发布):
      • 合并待发布的功能分支 feature/xxxdevelop 分支,并删除该功能分支,自此该功能表示已完成(也可以从develop分支检出release 分支作为待发布分支,合并功能分支到待发布分支)
      • 合并所有待发布功能到待发布分支develop(release),提交预发布测试
      • 测试通过:等待发布生产。
      • 测试未通过:从待发布分支develop检出bugfix/xxx进行修复,代码开发完成后合并修复分支bugfix/xxxtest分支测试。
        • 测试通过,合并bugfix/xxx到待发布分支devel 大专栏  gitop 提交测试
        • 测试通过,等待发布生产,删除修复分支bugfix/xxx
        • 测试不通过,继续修复
        • 测试不通过,继续修复
    • 预发布测试完成,进入下一环节(生产):
      • 合并待发布分支develop 到 生产分支master,发布上线。并打tag标签vx.x.x
    • 生产测试未通过或线上 bug:
      • 从生产分支master检出热修复分支hotfix/x.x.x,进行修复,开发完成后合并代码到 test,提交测试:
      • 测试通过,合并热修复分支hotfix/x.x.x到待发布分支develop,提交测试:
        • 测试通过,合并热修复分支hotfix/x.x.x到生产分支master,提交测试:
        • 测试通过,删除热修复分支hotfix/x.x.x,并打tag标签vx.x.x
        • 测试不通过,继续修复
        • 测试不通过,继续修复
      • 测试不通过,继续修复

    分支权限及 review:

    • master:项目负责人,保证发布生产时代码合并及 review
    • develop:开发负责人,合并功能分支,及修复分支时的 review
    • test:所有人,

    提交信息:

    • 在合并到待发布分支之前,可以对自己的功能分支进行提交历史整理。
    • 信息撰写:type 代表某次提交的类型,比如是修复一个 bug 还是增加一个新的 feature。所有的 type 类型如下:
      • feat: 新增 feature
      • fix: 修复 bug
      • docs: 仅仅修改了文档,比如 README, CHANGELOG, CONTRIBUTE 等等
      • style: 仅仅修改了空格、格式缩进、都好等等,不改变代码逻辑
      • refactor: 代码重构,没有加新功能或者修复 bug
      • perf: 优化相关,比如提升性能、体验
      • test: 测试用例,包括单元测试、集成测试等
      • chore: 改变构建流程、或者增加依赖库、工具等
      • revert: 回滚到上一个版本

    参考: Angular Commit Message Conventions

    分支存在周期

    • master,develop:一直存在整个项目开发周期。
    • test:上个版本完成到这个版本完成(或者任一生产版本完成可删除,从develop重新检出新的test分支)
    • feature:从功能开发到合并进待发布分支develop,删除功能分支。
    • bugfix,hotfix:修复开始到各阶段测试通过修复完成,删除修复分支
  • 相关阅读:
    JavaScript通过正则随机生成电话号码
    (转载)JavaScript递归查询 json 树 父子节点
    JavaScript中批量设置Css样式
    (转载)Javascript removeChild()不能删除全部子节点的解决办法
    Ajax技术实现页面无刷新跳转
    (转载)js(jquery)的on绑定点击事件执行两次的解决办法
    Chrome浏览器 js 关闭窗口失效解决方法
    JavaScript随机数区间限制
    100天搞定机器学习|Day55 最大熵模型
    50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)
  • 原文地址:https://www.cnblogs.com/lijianming180/p/12247739.html
Copyright © 2011-2022 走看看