美文网首页项目管理DevOps
规范的git开发模型

规范的git开发模型

作者: 廊桥梦醉 | 来源:发表于2019-03-17 10:14 被阅读158次

介绍一个成功的 Git 分支模型https://www.oschina.net/translate/a-successful-git-branching-model?print 

一个成功的Git分支模型https://www.jianshu.com/p/b357df6794e3

1. 为什么是git?

可以在本地提交,不同步到服务器;
可以在本地创建分支,不同步到服务器;
可以拉取别人的代码,并行开发;

git是分布式的版本控制系统,在使用git的时候,每次代码的提交都不必同步到远程服务器中,开发人员可以在外部网络环境(无法连接内网),甚至离线的情况下进行代码的版本控制,作为非集中式的版本控制系统,开发人员可以在本地创建分支而不同步到服务器上,这一点hi构成文中git分支模型的另一大基础。

2.主分支

*master分支

“准备好进行生产的状态”
每次新的合并通常都表明一个新的版本的发布

master作为git中默认的主分支,git分支开发模型中,master分支的HEAD节点始终处于“准备好进行生产的状态”,即master分支的HEAD节点所指向的版本始终是可以用于生产环境的正式版本。当其他分支的代码版本合并到master分只时(随后打上版本标签),通常意味着一个新的正式版本已经发布。

*develop分支

开发分支,是一个待发布版本。
通常也会不断有新的分支合并进来
达到稳定点的时候,会将dev分支合并到master分支上,并打上tag标签

develop分支作为另一个主分支,其HEAD节点总是指向下一个待发布版本的最新变化。develop分支的版本变更通常来源于辅助分支的合并(稍后介绍),因为develop分支也常被称为“整合分支”。当develop分支达到某一个稳定点可进行新版本的发布的时候,develop分支上的所有变更应该被合并到master分支并打上tag标签。

3.辅助分支

除了master分支和develop分支这两个主分支以外,git分支模型中拥有一些“辅助分支”,在团队开发中对develop分支和master分支进行帮助,例如对新需求的开发,新版本发布前的准备工作以及新版本bug的紧急修复等。和主分支不同的是这些分支的生命周期都是有限的,最终将会被删除。辅助分支有以下三类分支:

        *需求分支(Feature Branch)
        *发布分支(Release Branch)
        *修复分支(Hotfix Branch)

以上三种辅助分支,每一种都有其特定的功能,并遵守其各自严格的规则,例如分支的输入分支、分支的输出(合并)分支等。下文将逐一描述。

1)需求分支(Feature Branch)

分支来源:develop分支
分支去向:  develop分支
分支命名:任意命名,除master,develop,以“release-”开头,以“hotfix-”开头的分支以外。

需求分支通常仅仅存在于开发者的代码仓库中(本地仓库),并不上传到远程分支。

如何创建需求分支

创建需求分支的时候,该分支必须从develop分支得到:

该命令从develop分支创建一个新的分支“feature_branch”,并从当前分支切换到“feature_branch”分支,相当于:

将已完成的需求分支合并到develop分支

已完成的需求分支需要被合并到develop分支,作为待发布版本的需求之一:

2)发布分支

分支来源:develop分支
分支去向:develop分支和master分支

分支命名:以"release-"开头

发布分支用于辅助新版本(生产环境)发布的准备工作,例如小bug的修复,或者版本号的修改等。使用待发布分支的好处是,当从develop分支中创建发布分支以后,develop分支便可以进行新版本之后需求的研发工作,从而既不会影响到最新的研发进度,也不会影响到新版本的发布。

创建发布分支

发布分支以develop分支作为源分支,例如:目前develop分支上的所有需求将作为1.2发布,这时候可以创建一个分支“release-1.2”。此时可以继续在develop分支上进行新需求的研发,而1.2版本的发布工作将由“release-1.2”分支完成:

注:如果在发部分之进行小型bug修改,则需要将提交后的代码合并到develop分支中

完成发布分支

当发布分支完成代码的提交(如果修复过bug,则合并到develop分支)后,需要将发布分支合并到master分支上,并进行tag操作,:如:

ps合并到develop的操作:

完成合并操作之后,删除发布分支:

3)修复分支(Hotfix Branch)

分支来源:master分支
分支去向:develop分支和master分支

分支命名:以“hotfix-”开头

创建修复分支

完成修复分支

不要忘记合并分支到develop分支

删除分支

相关文章

  • 规范的git开发模型

    介绍一个成功的 Git 分支模型https://www.oschina.net/translate/a-succe...

  • Git 分支命名规范

    Git 分支命名规范 为规范开发,保持代码提交记录以及 git 分支结构清晰,方便后续维护,现规范 git 的相关...

  • ☆GIT分支开发模型规范

    最稳定的代码放在 master 分支上(相当于 SVN 的 trunk 分支),我们不要直接在 master 分支...

  • Git分支模型和开发规范

    1.分支管理 1.1 总览 从上图可以看到主要包含下面几个分支: master: 主分支,主要用来版本发布。 de...

  • git分支命名规范

    git 分支命名规范 git 分支命名规范 为规范开发,保持代码提交记录以及 git 分支结构清晰,方便后续维护,...

  • git 资料合集

    一个成功的 Git 分支模型要点:如题所示 Git 使用规范流程要点:git rebase -i origin/m...

  • Git规范

    规范 git的使用流程建议参考“Git使用规范流程”.[3] 建议a.在特性开发时,commit要以逻辑为单位,鼓...

  • git之前端项目管理版本

    您必须知道的 Git 分支开发规范 Git 是目前最流行的源代码管理工具。 为规范开发,保持代码提交记录以及 gi...

  • GIt 常用操作指令

    《Git 使用规范流程》 《常用 Git 命令清单》 《Git 远程操作详解》 《Git工作流程》 开发过程中,用...

  • iOS开发规范

    iOS代码编写规范Git的使用iOS进阶开发 目的 了利于项目维护以及规范开发,促进成员之间Code Review...

网友评论

    本文标题:规范的git开发模型

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