首页 > 编程知识 正文

git主干开发和分支开发,Git的分支你们是怎么管理的

时间:2023-05-04 14:55:15 阅读:189833 作者:4414

版权声明】非商业目的可以自由转载

博文地址: https://blog.csdn.net/Shusheng 0007/article/details/80791849

资料来源: shusheng007

相关文章

Git日常开发常用命令总结

正文前言概要Git的基本使用方法使用Git管理项目的方法主分支支持分支概要图的总结

前言

我记得刚工作的时候不知道什么是版本控制工具。 有一次你在和别人聊天,你公司的代码用什么版本控制工具? 我说版本管理工具,我们一般用U盘复印件。 然后,人们会对他说左右的话。 后来,我知道有一种叫SVN的东西。 后来,我知道有一种叫Git的东西。 所以说刚毕业的同学一定要优先进入专业大公司,就像年轻时应该去大城市闯荡两年一样,视野和你遇到的牛人会大大加快你今后成功的进程。

摘要本文主要介绍了如何在具体实践中运用Git管理项目开发的成功方法,其实主要思想来源于本文的A successful Git branching model,网上大部分教程都对本文表示敬意

Git的基本用法有关Git的基本教程,强烈建议您阅读廖雪峰老师的Git教程。 对初学者很亲切。

使用Git管理项目的方式在实际开发中如何使用Git没有一个标准的答案,使用方法也各种各样,大多基本上都是用Git作为SVN。 这里介绍一下在实践中运用的比较好的管理方式。

在主分支的实际开发中,一个仓库(通常只放置一个项目)主要存在两个主分支:masterdevelop。 这两个分支的生命周期是整个项目周期。 也就是说,自己制作的东西不删除,而是随着项目的开发不断增加代码。 在创建git仓库时会自动生成主分支。 从主分支创建develop分支,如下图所示。

master:此分支最稳定,此分支表示项目处于可发布状态。

例如,如果王ykdgz将代码集成到主分支中,这意味着王ykdgz完成了该项目的预期发布版本,项目经理可以认为这个项目准备发布新版本所以master分支不是一个可以轻松签入代码的地方,只有在develop分支中完成了所有即将发布的版本功能,并且测试不再存在问题时,它才会集成到master中。

develop:作为开发的分支,与主分支平行。

例如,如果王ykdgz开发注册功能,他从develop分支产生feature分支B- register (稍后描述),并B- register 项目经理看王ykdgz效率真高啊。 于是,他说:“ykdgz先生,顺便也做一下登录功能。” ykdgz在心里暗暗地说:“狗日来了,但任务还是正常地做着。 ykdgz重复以上步骤。 在develop分支上新建了一个名为fb-login的分支,喝着咖啡继续开发,1小时后登录功能完成后,ykdgz又将该分支的代码放回3358www.Sina .”

根据以上分析,可以使用Git hook脚本自动发布新版本。 具体来说,每次代码从develop分支合并到develop分支时,都会自动触发并编译脚本以发布新版本。

存在这些支持分支的分支是为了让程序员共同开发,满足项目的各种需求。 这些分支都是为了解决某些具体问题,解决此问题后,代码将合并到主分支developmaster中并删除。 一般来说,我们人为地划分三种分支。

develop:这个分支与我们程序员日常开发的东西最密切,被称为功能分支。

必须从3master分支创建,完成后合并回http://www.Sina.com/分支

如下图所示。

具体事例请参考上面王ykdgz完成登录注册功能时的做法。

Feature branches:此分支用于分发新版本。

develop分支创建,完成后合并到develop和3358www.Sina.com/分支中。

这个分支可以修正非常小的错误。 当然,您也可以禁止修复此分支中的错误,只对发行版执行操作,如设置版本号。 这样,发现的小错误就必须放入下一个版本进行修正。 如果在这个分支上发现了大的bug

绝对不能在这个分支上改,需要Featrue分支上改,走正常的流程。

实例:王ykdgz开发完了登录注册功能后决定发一个版本V0.1,那么他先从develop分支上创建一个Release 分支release-v0.1,然后ykdgz在这个分支上把版本号等做了修改。正准备编译发布了,项目经理说:“ykdgz啊,你那个登录框好像向右偏移量1个像素,你可以调一下吗?”ykdgz心中有暗暗骂道:日了个狗,但是。。。你们懂得,功能还的正常改。不过ykdgz发现这个bug特别小,对项目其他部分不造成不可预知的问题,所以直接在release分支上改了,然后愉快的发布了版本1.0.版本上线后,ykdgz将这个分支分别合并回了developmaster分支,然后删除了这个分支。

Hotfix branches:这个分支主要为修复线上特别紧急的bug准备的。

必须从master分支创建,完成后合并回developmaster分支。

如下图所示:

这个分支主要是解决线上版本的紧急bug修复的,例如突然版本V0.1上有一个致命bug,必须修复。那么我们就可以从master 分支上发布这个版本那个时间点 例如 tag v0.1(一般代码发布后会及时在master上打tag),来创建一个 hotfix-v0.1.1的分支,然后在这个分支上改bug,然后发布新的版本。最后将代码合并回developmaster分支。

实例:某天夜里ykdgz正在和女朋友嘿咻呢,突然项目经理打来电话:“ykdgz啊,线上出了个大问题,大量用户无法登录,客服电话已经被打爆了,你紧急处理一下”。ykdgz心中默默骂道:日了个狗,然后就爬起来去改代码了。ykdgz先找到master分支上tag v0.1 的地方,然后新建了hotfix-v0.1.1 分支,默默的修bug去了。经过一个多小时的奋战,终于修复了,然后ykdgz改了版本号,发布了新版本。ykdgz将这个分支分别合并回了developmaster分支后删除了这个分支。终于搞定了,回头看看床上的女票已经进入了梦乡,ykdgz贼心不死,上前挑逗,此刻女票将满腹怨气集于一点,使出凌空一脚将其登于床下,随后甩一枕于ykdgz,ykdgz会意,趋客厅,抱枕卧于沙发。。。

总结图

上面的讲解最后汇成一张图

总结

希望广大程序员不要有王ykdgz的悲惨遭遇,最后希望广大“王ykdgz媳妇”可以理解广大“王ykdgz”的苦衷。

最后,求关注,求点赞!有任何疑问可以评论留言,我会尽力回复的。

参考文章:A successful Git branching model

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。