Git项目版本管理

前言

目前我们项目基本都是使用Git作为版本控制工具,Git最大的亮点就在于其分支特性,因此这里主要介绍一下项目的分支管理。
网络上也有许多的Git Flow最佳实践,但是这里我们不打算完全照搬,仅作为参考使用吧。

常驻分支

  • Release
    发布分支:达到可上线发布的时候,首次从Master检出该分支,后续从Master合并过来。

  • Master
    稳定分支:经过测试人员专业测试过关了,再合并test分支过来。
    这里也可作为预发布分支,在发布之前需要测试在这边再回归验证一下。

  • test
    测试分支:经过开发人员提交代码并自测通过后,再从dev分支合并过来。

  • dev
    开发分支:作为开发人员主要提交代码的分支,包括功能性代码、Bug修复代码、项目重构、单元测试等等。

临时分支

  • Hotfix-xxx
    紧急Bug修复分支:当Release线上发现紧急重要Bug需要处理时,从Release分支检出该分支,修复后合并回Release发布补丁版本。
    之后再将补丁的提交cherry-pick到dev,由dev再合入test、master,最后删除该分支。

  • Bugfix-xxx
    重要Bug修复分支:当在Master和Release上发现重要Bug,但对于Release来说不紧急的,需要在Master分支上创建Bugfix分支。
    在这个分支提交代码并测试通过后,再将该分支合入master,cherry-pick到dev,最后删除该分支。

如果是不重要的Bug,可直接在dev上面提交修复代码,然后再一步步合并。
但是这里Bugfix分支也必须要引起重视,因为经过开发自测和测试专业验证,仍然出现问题。就不能简单的还直接在dev上面一步步合过来。
作为稳定分支需要保证质量。
还有需要注意,这里为了降低复杂度,没有采用feature功能分支。

常驻分支简单示意图

Gitflow

后续

这里有些东西还没有详细说明,后面会再写一篇介绍关于临时分支如何具体处理。

猜你喜欢

转载自blog.csdn.net/lusyoe/article/details/78077131
今日推荐