Git分支模型实践

2012年按照SVN方式来使用Git,还不熟悉Git分支,就是下面的直线模型。其缺点是没有阶段,使用者不知道什么时候是发布版(永远都在发布)。即使后来使用了tag功能,也没多大改变。 line

2013年开始使用两个分支,在特定时间进行合并和同步。开发变化较大的新功能时新开一个分支。 2lines

2014年使用了树状分支模型,同时维护几个发布版本。优点是在不同分支切换很方便,可以将新功能或Fix应用到不同发布版本。缺点是使用了patch功能,手工操作较多,可能丢失中间提交信息。 在此输入图片描述

最近两个月不再使用树状分支模型,改成在一个基础发布版本上扩充出其他发布版本,通用功能在基础版本上增加,然后定期拉到其他版本的开发分支上,定期推到发布分支,形成有分有合的图。优点是不同功能灵活应用到不同发布版本,不再丢失中间提交信息,重复工作少了。下图有三个远程库(三种版本),每个库有master、develop分支,偶合会有feature分支(较复杂的功能单开一个分支,完成后merge到develop分支)。 now

我在摸索中走了不少弯路,现在感觉良好,虽然可能有Git高手会笑话。我用的是SourceTree,记不住复杂的Git命令就用GUI版的了。

最后附上权威的分支模型图。 权威的分支

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

Git分支模型实践 - HelloWorld