这里我们常用的分支有:
- 主分支(master branch)
- 开发分支(develop branch)
- 功能分支(feature branch)
- 补丁分支(hotfix branch)
- 预发分支(release branch)
流程一(基础)
几个小伙伴开发一套系统,使用git对项目的代码进行版本控制,这是一种比较方便易于理解的方式。情景
发布和测试部署
master分支同时是开发服务器和测试服务器本地的当前分支。开发新功能
在master分支上进行切feature分支,开发完之后对其部署在测试服务器上进行测试,测试没有bug即合并进master分支,此时测试服务器的版本是领先于生产服务器的,出现bug
在master分支上切出来一个hotfix分支来改bug,然后生产服务器本地当前分支回滚一个版本。
静静的等待bug改好了进行单元测试,有时间的条件下还要回归测试下。然后master合并这个hotfix分支。
细心地同学应该发现开发分支(develop branch)和预发分支(release branch)没有用到,对不对?如果我们只是做一个不需要上线,或者小众的这样一个应用,简单易于操作的git flow是很适合的,但当我们的开发协作扩展至一个5人以上的团队,当版本控制追求版本有层次,提交合并有权限,各分支功能单一等等一些特性的时候,那么就应该升级git flow。