【每日一题NO.76】说说你对git flow的

共 1408字,需浏览 3分钟

 ·

2021-11-09 00:55


git flow

git flow 是基于 git 之上的一种软件开发迭代模型,是使用 git 进行源代码管理的一套行为规范。重点解决的是由于源代码在开发过程中的各种冲突导致开发活动混乱的问题,提高开发效率。

git flow 中的分支

git flow 模型中定义了主分支和辅助分支两类分支,
其中主分支用于组织与软件开发、部署相关的活动;
辅助分支组织为了解决特定的问题而进行的各种开发活动。

主分支

  • master 分支
  • develop 分支

辅助分支

我们的开发模式旁边的主要分支机构掌握和发展,使用各种支持分支机构,以帮助团队成员之间的平行发展,便于追踪的功能,准备生产版本,并协助快速修复现场生产问题。与主分支不同,这些分支总是有有限的生命时间,因为它们最终将被移除。

  • feature 分支
  • release 分支
  • hotfix 分支

feature 分支

  • 从develop分支检出
  • 必须合并回develop分支
  • 命名规范:除了masterdevelopreleasehotfix

当开始一个新特征的开发时,从 develop 检出 feature 分支。feature 分支的本质是,只要特性处于开发阶段,它就会存在,将来会被合并 develop 分支(为了即将发布的版本而明确地添加新特性),或者丢弃掉(如果是不好的结果)

feature 分支只存在于开发者本地,不能被提交到远程库。

release 分支

  • 从develop分支检出
  • 必须合并回develop分支和master分支
  • 命名规范:release-*

release 分支是为发布新产品版本而设计的。在这个分支上的代码允许做小的缺陷修正、准备发布版本所需的各项说明信息(版本号、编译时间…)。通过在 release 分支上进行这些工作可以让 develop 分支空闲出来接受新的 feature 分支上的代码提交,进入新的软件开发迭代周期。

当 develop 分支上的代码已经包含了所有即将发布的版本中所计划包含的软件功能,并且已经通过所有测试时,我们就可以考虑准备创建 release 分支了。而所有在当前即将发布的版本之外的业务需求一定要确保不能混到 release 分支之内--避免由此引入一些不可控的系统缺陷。

hotfix 分支

  • 从master检出
  • 合并develop和master分支
  • 命名:hotfix-*

hotfix 分支非常像 release 分支,因为它们意味着即将发布一个新的版本,尽管是未计划的。当线上出现一个严重的 bug,需要立即修复的时候,就需要从 master 分支上指定的 tag 版本派生 hotfix 分支来进行紧急修复工作。

这样做的显而易见的好处是不会打断正在进行中的 develop 分支的开发工作,能够让团队中负责新功能开发的人与负责代码紧急修复的人并行开展工作。

所有《每日一题》的 知识大纲索引脑图 整理在此:https://www.yuque.com/dfe_evernote/interview/everyday
你也可以点击文末的 “阅读原文” 快速跳转


END
愿你历尽千帆,归来仍是少年。


浏览 20
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报