git使用规范

51 阅读2分钟

研发代码分支管理

概述

  • develop:开发环境的稳定分支,公共开发环境基于该分支构建,用于开发阶段测试环境使用。
  • release:测试环境的稳定分支,测试环境基于该分支构建,用于体验环境使用。
  • master:生产环境的稳定分支,生产环境基于该分支构建,仅用来发布新版本。除了从release或生产环境Bug修复分支进行merge,不接受任何其它修改。
  • 平时开发工作中,会根据需要由开发人员创建两类临时分支,临时分支在完成对应场景的功能后做好代码合并可以删除:
    • 功能分支:feature-v1.1 或 feature-testbill
    • bug修复分支:bugfix-dateformat

实际场景

通用场景

  • develop分支只接受从自定义feature分支和bugfix分支进行合并
  • release分支只接受从develop分支和bugfix分支进行合并
  • master分支只接受从release分支和bugfix分支进行合并
  • 暂存本地代码 git stash

开发新功能

  • 所有新功能的开发都需要进行测试,因此只能基于develop分支开发
  • 切换分支到develop
  • 拉取最新develop代码
  • 新建feature临时分支:git checkout -b feature-{功能名称}
  • 提交代码
  • 代码合并至develop分支
  • 代码推送至远程develop分支

修改bug

开发环境修bug

  • 切换分支到develop
  • 拉取最新develop代码
  • 修改完成后提交代码
  • 推送至远程develop分支

体验环境修bug

  • 切换分支到release
  • 拉取最新release代码
  • 新建修bug临时分支:git checkout -b bugfix-{功能名称}
  • 修改完成后提交代码
  • 代码合并
    • 合并 bugfix-{功能名称} 分支到 release 分支
    • 合并 bugfix-{功能名称} 分支到 develop 分支
  • 代码推送至远程release分支
  • 删除修bug临时分支(视个人情况)

生产环境修bug

  • 切换分支到master
  • 拉取最新master代码
  • 新建修bug临时分支
  • 修改完成后提交代码
  • 代码合并
    • 合并 bugfix-{功能名称} 分支到 master 分支
    • 合并 bugfix-{功能名称} 分支到 release 分支
    • 合并 bugfix-{功能名称} 分支到 develop 分支
  • 代码推送至远程master分支
  • 删除修bug临时分支(视个人情况)