美文网首页
Git分支模型(Git-Flow)

Git分支模型(Git-Flow)

作者: 打碟的DJ | 来源:发表于2019-07-21 22:43 被阅读0次

    注意事项

    • 所有开发分支从 develop 分支拉。
    • 所有 hotfix 分支从 master 拉。
    • 所有在 master 上的提交都必要要有 tag,方便回滚。
    • 只要有合并到 master 分支的操作,都需要和 develop 分支合并下,保证同步。
    • master 和 develop 分支是主要分支,主要分支每种类型只能有一个,派生分支每个类型可以同时存 在多个。

    master分支

    最为稳定功能比较完整的随时可发布的代码,即代码开发完成,经过测试,没有明显的bug,才能合并到 master 中。请注意永远不要在 master 分支上直接开发和提交代码,以确保 master 上的代码一直可用;

    develop分支

    用作平时开发的主分支,并一直存在,永远是功能最新最全的分支,包含所有要发布 到下一个 release 的代码,主要用于合并其他分支,比如 feature 分支; 如果修改代码,新建 feature 分支修改完再合并到 develop 分支。所有的 feature、release 分支都是从 develop 分支上拉的。

    feature分支

    这个分支主要是用来开发新的功能,一旦开发完成,自测没问题(这个测试,测试新功能没问题),我们合并回develop进行提测 。

    release分支

    用于发布准备的专门分支。当开发进行到一定程度,或者说快到了既定的发布日,可以发布时(当进入审核环境,开启release分支),建立一个 release 分支并指定版本号(可以在 finish 的时候添加)。开发人员可以对 release 分支上的代码进行集中测试和修改bug。(这个测试,测试新功能与已有的功能是否有冲突,兼容性)全部完成经过测试没有问题后,将 release 分支上的代码合并到 master 分支和 develop 分支。

    hotfix分支

    用于修复线上代码的bug。从 master 分支上拉。完成 hotfix 后,打上 tag 我们合并回 master 和 develop 分支。

    git flow 的工作方式

    初始化分支

    默认会初始化 master develop 两个主干分支。如果已有了不同分支,初始化的时候,可能需要手动指定 master 分支 跟 develop 分支。

    开发分支 feature

    分支的名称都是以 feature/* 开头,不需要做修改
    基于develop分支,可以有多个特征分支进行开发
    feature分支做完后,必须合并回develop 分支,合并完分支后一般会删除这个 feature 分支

    发布分支 release

    分支名称以 release/* 开头
    release分支基于develop创建; 一旦创建了release分支,不能在从 develop 分支合并新的改动到 release 分支,可以基于release分支进行测试和bug修改,测试不用在另外创建用于测试的分支。
    release 发布的时候,合并到 master 和 develop 分支,同时打tag,视情况删除release分支,通常应该删除掉

    维护分支 hotfix(线上bug)

    分支名称以 hotfix/* 开头
    hotfix 分支基于 master 分支创建,开发完毕后合并到 master 和 develop 分支,同时创建 tag
    这是唯一可以直接从 master 分支 fork出来的分支。

    常用操作

    1、feature分支开发完新功能后,自测通过该功能,合并会develop分支进行提测,并删除该分支
    2、发版前(发版的功能已完成)创建release分支,测试在release分支上进行回归测试,在release分支上进行bug修复,release发布完成后,合并到master和develop分支上,同时打tag,并删除release分支
    3、线上bug通常在master分支上创建hotfix,修复bug,经由测试测完后,合并到master和develop分支上

    相关文章

      网友评论

          本文标题:Git分支模型(Git-Flow)

          本文链接:https://www.haomeiwen.com/subject/vfkblctx.html