每日热讯![Git]Git Flow 工作原理
无规矩不成方圆,但是规矩太多了,则感觉到束缚。我们一个人工作的时候喜欢无拘无束,想怎么干就怎么干,没有人评判,没有人检验。时间久了就
无规矩不成方圆,但是规矩太多了,则感觉到束缚。我们一个人工作的时候喜欢无拘无束,想怎么干就怎么干,没有人评判,没有人检验。时间久了就会盲目自大,以为增删改查熟悉业务就能够搞定一些。但是当项目逐渐扩大,原来的灵活逐渐变成了混乱,原来的快速迭代因为过于随意的代码,而开发进度迟迟不前。掌握一种规范,便在处理类似问题的时候有章可循,也能够快速的融入一个团队。另外所谓规范,可以说是比较好的实践,按照规范来,项目也能稳健的发展。
Git Flow 就是如何使用git 分支的一种规范,或者叫做推荐。
根据Git Flow 的推荐,我们要将Git 的分支分为 master、develop、hotfix、release、feature这五个分支。各种分支分别负责不同的功能,平时开发的时候各司其职,因此会有比较小的冲突率。那么可以用这些减少冲突的时间,少加会班,多有点自己的生活岂不快哉。一图胜千言:
(资料图)
master 分支主要方稳定、随时可上线的版本。这个分支只能从别的分支上合并过来,一般来讲,从develop 上合并,或者从bugfix 分支上合并过来。不能直接在master 分支上进行commit文件。因为是稳定的版本,所以每次版本发布都要在这个分支上添加标签(tag)。
develop 分支是所有开发分支的母体,所有的开发分支都要从develop上切出来,开发完成之后最后都要合并到develop上。
hotfix 分支用来修复生产中的紧急bug,由于develop分支尚处于开发过程中,代码不稳定,不能直接应用于生产。所以从master分支上切出一个分支,修复完成之后合并到master分支,并且合并到develop上。
release 分支可以称之为预发布的版本。当我们认为develop版本的代码已经趋于成熟,我们可以打一个release分支。在release 分支上测试完成之后,要将代码合并到master分支和develop上。master 分支是线上版本,而合并到develop版本是因为,在测试过程中,一些细节的东西可能会修改,因此这些优化的内容也应该合并到最终版本以及开发版本中。
feature 分支是最经常使用的分支了。当我们收到一个新的开发功能时,应该在develop分支上切出一个feature分支。用来完成新功能的开发,开发完成之后,要合并进develop分支上。
基本上各种git的客户端软件都会支持Git Flow 工作模型。sourcetree 上使用git flow 工作模型就很流畅,体验很好。但是为了全平台上通用,以及理解原理,快速上手。我们来学习下Git Flow 的命令行操作。
git flow 是一种git的使用规范,当然也有相应的工具集,命令行命令让我们使用。
安装git flow
brew install git-flow-avh初始化git flow 工具库
git flow init之后都按照默认的去配置,直接按enter键继续。增加feature新特性分支
适用场景,需要开发新功能
git flow feature start your roverliang/addlist示例:
roverliang$ git flow feature start roverliang/addlistSwitched to a new branch "feature/roverliang/addlist"Summary of actions:- A new branch "feature/roverliang/addlist" was created, based on "develop"- You are now on branch "feature/roverliang/addlist"Now, start committing on your feature. When done, use: git flow feature finish roverliang/addlistroverliang$ git branch develop* feature/roverliang/addlist master完成新特性这个动作执行的是下面的流程:
合并 addlist 分支到 develop删除这个新特性分支切换回 develop 分支git flow feature finish roverliang/addlist示例:
roverliang$ git flow feature finish roverliang/addlistSwitched to branch "develop"Your branch is up to date with "origin/develop".Already up to date.Deleted branch feature/roverliang/addlist (was 2e1b475).Summary of actions:- The feature branch "feature/roverliang/addlist" was merged into "develop"- Feature branch "feature/roverliang/addlist" has been locally deleted- You are now on branch "develop"roverliang$ git branch* develop masterroverliang$获取一个发布的新特性的分支
git flow feature track origin MYFEATURE准备release 版本
git flow release start RELEASE [BASE]你可以选择提供一个 [BASE]参数,即提交记录的 sha-1 hash 值,来开启动 release 分支. 这个提交记录的 sha-1 hash 值必须是"develop" 分支下的。示例:
roverliang$ git branch develop feature/test* masterroverliang$ git log --pretty=oneline -32e1b475f9825275aefa0892cfe5259aaac9a3483 (HEAD -> master, origin/test2, origin/master, origin/feature/test, origin/develop, feature/test, develop) delte some content2d22f306d2dca363b8aaa05743be342a505aabb0 renamed: demo.txt -> test.txtfbf025e210952c3cdb10e219c4ee5f82b9f36327 modified: demo.txtroverliang$发布release 版本
git flow release track RELEASE完成release 版本
相当于执行以下几个动作:
归并 release 分支到 "master" 分支用 release 分支名打 Tag归并 release 分支到 "develop"移除 release 分支git flow release finish RELEASE紧急修复的需求:
紧急修复来自这样的需求:生产环境的版本处于一个不预期状态,需要立即修正。有可能是需要修正 master 分支上某个 TAG 标记的生产版本。开始紧急修复,开启hotfix 分支
git flow hotfix start VERSION [BASENAME]VERSION 参数标记着修正版本。你可以从 [BASENAME]开始,[BASENAME]为finish release时填写的版本号完成紧急修复
当完成紧急修复分支,代码归并回 develop 和 master 分支。相应地,master 分支打上修正版本的 TAG。
git flow hotfix finish VERSION 关键词:
无规矩不成方圆,但是规矩太多了,则感觉到束缚。我们一个人工作的时候喜欢无拘无束,想怎么干就怎么干,没有人评判,没有人检验。时间久了就
21℃「室温超导」成世纪骗局?中科院物理所发布验证论文,没复现成功,论文,世纪,超导体,室温超导,中科院物理所
1、随着科技的进步啊,人们研究科技的手法也成熟起来了,对于水位传感器,不管是在水箱上,还是在水塔上,还是在洗衣机上,都会
袁卫星:如何培养孩子对科学的兴趣?
1、《盗墓者》是由GregoryWilson执导的恐怖片,诺兰·古德、凯瑟琳·玛丽·斯图尔特、巴里·柯宾等参与演出。2
全新哈弗H5,这款名字一定不会陌生。它的代号一直是长城P04,而如今它竟然复出了。此前,官方已经确定继承H5的名字,让一个新物种拥有了情怀。
1、李恪(619~653年),字号不详,陇西狄道(今甘肃省临洮县)人。2、唐朝宗室大臣,唐太宗李世民第三子,母为隋炀帝之
1、去百度文库,查看完整内容>内容来自用户:李鹏亚摇篮曲杨存德教案【篇一:小学音乐教案(摇篮曲)】模范小学教师授课教案2016—2017年度第二【
英超官方消息,伯恩茅斯26岁丹麦中场比林当选利物浦vs伯恩茅斯一役全场最佳球员。比赛第27分钟,瓦塔拉边路强突范迪克传中,比林禁区中路推射
3月8日,全新一代传祺GS3·影速打破常规,以一场极具烟火气的“劲省大超市”上市发布会,正式上市。作为一款专为后疫情时代消费者打造的国民高
1、中国电视台国际新闻频道(呼号:CGTN)是中国第一个全球英语频道,也是中国第一个以非母语播出的新闻频道。2、它是一个
1、有七部蝙蝠侠电影,《蝙蝠侠》和纪诺兰的续集《蝙蝠侠归来》,《永远的蝙蝠侠》,《蝙蝠侠与罗宾》和《黑暗骑士》系列,分别
1、电子发票下载的具体方法如下:一、首先得先找到电子发票,打开我的订单,点击查看发票(如下图):二、发票开具后在详情中有两个按钮,一种
新型冠状病毒传播性强,不侥幸,不冒险,情谊常在,聚会不急一时。03月11日06时新疆石河子昨日累计报告阳性感染者确诊4例怎么判断自己是否属于
1、《女机械人》又名《女机器人》,是由香港导演陆剑明执导,叶子楣、青山知可子、吴大维、周比利、许晓丹等主演的一部科幻动作
大家好,小乐来为大家解答以上的问题。瑞典时间与北京时间差,瑞典时间这个很多人还不知道,现在让我们一起来看看吧!1、瑞典工作签证申请材
截至2023年3月10日收盘,罗莱生活(002293)报收于12 32元,下跌0 88%,换手率0 34%,成交量2 79万手,成交额3441 47万元。
1、【问题描述】:键盘被重新定向,按A却成了B【原因分析】:1 注册表键值错误2 键盘故障【简易步骤】:无【解决方案
23鄂文旅SCP003发布发行公告
女子投诉在株洲雅美医美隆鼻失败后鼻根会动