理想的MEGA,李想选择了流量最大的玩法
06-21
1、Git Flow 工作模型原理 没有规则,但如果规则太多,你会感觉受到限制。当我们独自工作时,我们喜欢无拘无束,做任何我们想做的事情,没有任何人评判或测试我们。
久而久之,你就会变得盲目自大,以为一些事情只要增删改查,熟悉一下业务就可以搞定。但随着项目逐渐扩大,原本的灵活逐渐变成了混乱。
原本快速的迭代因为代码过于随意而被耽误,开发进度被耽误。如果掌握了一个标准,那么处理类似的问题就有章可循,也能很快融入到一个团队中。
另外,所谓规范可以说是比较好的做法。按照规范,该项目还可以稳步发展。
Git Flow 是关于如何使用 git 分支的规范或建议。根据Git Flow的推荐,我们将Git分支分为五个分支:master、develop、hotfix、release、feature。
各个分支负责不同的功能,正常开发时各司其职,所以会出现比较小的冲突率。利用这段时间减少冲突,少开会,多享受自己的生活,不是很好吗?一图胜千言:Git flow工作流master分支 master分支主分支是一个可以随时上线的稳定版本。
该分支只能从其他分支合并。一般来说,是从develop分支或者bugfix分支合并过来的。
文件不能直接在 master 分支上提交。由于是稳定版本,每次发布版本时都必须在该分支上添加标签。
开发分支是所有开发分支的父分支。所有开发分支都必须与开发断开。
开发完成后,必须合并到develop中。 hotfix 分支 hotfix 分支用于修复生产中的紧急错误。
由于develop分支还处于开发过程中,代码不稳定,无法直接应用到生产中。于是从master分支切下一个分支,修复完成后合并到master分支,再合并到develop。
发布分支 发布分支可以称为预发布版本。当我们认为开发版本的代码已经成熟时,我们就可以创建release分支。
在release分支上测试完毕后,将代码合并到master分支上进行开发。master分支是线上版本,合并到develop版本中是因为测试过程中可能会修改一些细节,所以这些优化也应该合并到最终版本和开发版本中。
特征分支 特征分支是最常用的分支。当我们收到新的开发功能时,应该在开发分支上切出一个功能分支。
用于完成新功能的开发。开发完成后,必须合并到develop分支中。
2. Git Flow工具的使用 基本上,各种git客户端软件都会支持Git Flow工作模型。在sourcetree上使用git flow工作模型非常流畅,体验非常好。
但为了全平台通用,了解原理,快速上手。我们来学习一下Git Flow的命令行操作。
git flow 是一个 git 使用规范。当然,也有相应的工具集和命令行命令供我们使用。
1、开始安装git flow 代码语言:javascript copybrew install git-flow-avh 初始化gitflow工具库 代码语言:javascriptcopygitflow init后,按照默认配置,直接按回车键继续即可。2.特征分支操作在特征分支中添加一个新的特征分支。
适用于需要开发新功能的场景。代码语言: javascript copy git flow feature start your roverliang/addlist 示例: 代码语言: javascript copy roverliang$ git flow feature start roverliang/addlist 切换到新分支 'feature/roverliang/addlist' 操作摘要:- 新建分支 ' feature/roverliang/addlist' 已基于 'develop' 创建 - 您现在位于分支 'feature/roverliang/addlist' 现在,开始提交您的功能。
完成后,使用: git flow feature finish roverliang/addlistroverliang$ gitbranchdevelop* feature/roverliang/addlist master 完成新功能。该操作执行以下过程:将addlist分支合并到develop,删除新的feature分支,然后切换回develop分支。
代码语言: javascript copy git flow feature finish roverliang/addlist 示例: 代码语言: javascript copy roverliang$ git flow feature finish roverliang/addlist切换到分支 'develop' 您的分支已更新到 'origin/develop'。已经是最新的.删除分支feature/roverliang/addlist (原为2e1b).摘要ctions:- 功能分支 'feature/roverliang/addlist' 已合并到 'develop' - 功能分支 'feature/roverliang/addlist' 已在本地删除 - 您现在位于分支 'develop'roverliang$ gitbranch* 开发 masterroverliang$获取某个发布的新功能的分支代码语言:javascript copy git flow feature track origin MYFEATURE3,发布分支操作准备发布版本代码语言:javascript copy git flow release start RELEASE [BASE] 可以选择提供一个[BASE]参数,即使用提交记录的 sha-1 哈希值来启动发布分支。
该提交记录的 sha-1 哈希值必须位于 'develop' 分支下示例: 代码语言: javascript copy roverliang$ git Branchdevelop feature/test* masterroverliang$ git log --pretty=oneline -32e1bfaefacfeaaac9a(HEAD -> master, origin/test2, origin/master, origin/feature/test, origin/develop 、feature/test、develop)删除一些内容2d22fd2dcab8aaa3beaaabb0重命名为:demo.txt -> test.txtfbfe52c3cdb10ec4ee5f82b9f7修改为:demo.txtroverliang$release发布版本代码语言:javascript复制git flow发布轨道RELEASE完成发布版本相当于执行以下操作:合并release分支到'master'分支与release标记分支名称合并release分支到'develop'删除release分支代码语言:javascript复制git flowrelease完成RELEASE4,bugfix分支运行紧急修复需求:紧急修复来自于这样的需求:生产版本处于意外状态,需要立即纠正。可能是master分支上某个TAG的生产版本需要修复。
启动紧急修复,打开hotfix分支代码语言:javascript copy git flow hotfix start VERSION [BASENAME] VERSION参数标记修订版本。可以从[BASENAME]开始,其中[BASENAME]是完成发布时填写的版本号,完成紧急修复。
当紧急修复分支完成后,代码会合并回develop和master分支。因此,master 分支被标记为修订版本。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-21
06-17
06-06
06-17
06-18
最新文章
【玩转GPU】ControlNet初学者生存指南
【实战】获取小程序中用户的城市信息(附源码)
包雪雪简单介绍Vue.js:开学
Go进阶:使用Gin框架简单实现服务端渲染
线程池介绍及实际案例分享
JMeter 注释 18 - JMeter 常用配置组件介绍
基于Sentry的大数据权限解决方案
【云+社区年度征文集】GPE监控介绍及使用