这里我们常用的分支有:

  1. 主分支(master branch)
  2. 开发分支(develop branch)
  3. 功能分支(feature branch)
  4. 补丁分支(hotfix branch)
  5. 预发分支(release branch)

    流程一(基础)

    几个小伙伴开发一套系统,使用git对项目的代码进行版本控制,这是一种比较方便易于理解的方式。

    情景

    发布和测试部署

    master分支同时是开发服务器和测试服务器本地的当前分支。

    开发新功能

    在master分支上进行切feature分支,开发完之后对其部署在测试服务器上进行测试,测试没有bug即合并进master分支,此时测试服务器的版本是领先于生产服务器的,

    出现bug

    在master分支上切出来一个hotfix分支来改bug,然后生产服务器本地当前分支回滚一个版本。
    静静的等待bug改好了进行单元测试,有时间的条件下还要回归测试下。然后master合并这个hotfix分支。
    细心地同学应该发现开发分支(develop branch)和预发分支(release branch)没有用到,对不对?如果我们只是做一个不需要上线,或者小众的这样一个应用,简单易于操作的git flow是很适合的,但当我们的开发协作扩展至一个5人以上的团队,当版本控制追求版本有层次,提交合并有权限,各分支功能单一等等一些特性的时候,那么就应该升级git flow