zoukankan      html  css  js  c++  java
  • Git开发分支使用与管理规范

    最稳定的代码放在 master 分支上(相当于 SVN 的 trunk 分支),我们不要直接在 master 分支上提交代码,只能在该分支上进行代码合并操作,例如将其它分支的代码合并到 master 分支上。

    我们日常开发中的代码需要从 master 分支拉一条 develop 分支出来,该分支所有人都能访问,但一般情况下,我们也不会直接在该分支上提交代码,代码同样是从其它分支合并到 develop 分支上去。

    当我们需要开发某个特性时,需要从 develop 分支拉出一条 feature 分支,例如 feature-1 与 feature-2,在这些分支上并行地开发具体特性。

    当特性开发完毕后,我们决定需要发布某个版本了,此时需要从 develop 分支上拉出一条 release 分支,例如 release-1.0.0,并将需要发布的特性从相关 feature 分支一同合并到 release 分支上,随后将针对 release 分支部署测试环境,测试工程师在该分支上做功能测试,开发工程师在该分支上修改 bug。待测试工程师无法找到任何 bug 时,我们可将该 release 分支部署到预发环境,再次验证以后,均无任何 bug,此时可将 release 分支部署到生产环境。待上线完成后(注:一般master对应着发布版本,应从master发布),将 release 分支上的代码同时合并到 develop 分支与 master 分支,并在 master 分支上打一个 tag,例如 v1.0.0。

    当生产环境发现 bug 时,我们需要从对应的 tag 上(例如 v1.0.0)拉出一条 hotfix 分支(例如 hotfix-1.0.1),并在该分支上做 bug 修复。待 bug 完全修复后,需将 hotfix 分支上的代码同时合并到 develop 分支与 master 分支。

    对于版本号我们也有要求,格式为:x.y.z,其中,x 用于有重大重构时才会升级,y 用于有新的特性发布时才会升级,z 用于修改了某个 bug 后才会升级。针对每个微服务,我们都需要严格按照以上开发模式来执行。

    针对每个服务的开发工作,我们都需要严格按照以上开发规范来执行。

    实际上,我们使用的开发规范是业界知名的 Git Flow,可通过以下博客地址了解 Git Flow 的详细过程:

    http://nvie.com/posts/a-successful-git-branching-model/

    摘自:https://blog.csdn.net/penker_zhao/article/details/51132514

  • 相关阅读:
    SQliteDatabase 中sql语句引用字符串时的注意点,要把单引号放进去,E/SQLiteLog﹕ (1) no such column:
    用v7包没有发现ActionBarActivity
    idea添加jar包
    关于android 图片加载压缩处理
    java(android)文件处理
    数据库大小(报表用)
    统计SQL语句耗时百分比
    镜像配置见证机失败解决方案
    Effective Java 51 Beware the performance of string concatenation
    Effective Java 50 Avoid strings where other types are more appropriate
  • 原文地址:https://www.cnblogs.com/huangsheng/p/9189942.html
Copyright © 2011-2022 走看看