首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Git-flow:当有未来的版本时,如何创建一个修补程序版本?

Git-flow:当有未来的版本时,如何创建一个修补程序版本?
EN

Software Engineering用户
提问于 2022-09-06 12:18:35
回答 2查看 1.5K关注 0票数 0

这个问题与文森特·德里森(氏( Git流)分支模型有关。

为了更好地描述我的问题,我想用一种稍微修改一下的方式使用Diressen先生的一幅伟大的图片:

这里最重要的一点是有1.3.01.4.0版本。在这种情况下,1.2.0需要一个修复,这将导致版本1.2.1

我不知道如何从hotfixes合并回master,但在1.21.3.0之间提交?

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2022-09-06 12:50:49

您不希望在master上将这些提交插入到1.21.3的提交和标记之间。尽管你可以重新定位,引入这样的提交是重写历史的一种形式,并且可能会给在本地使用分支的其他人带来问题。

这暴露了git流模型中的一个缺陷。

git-flow模型的一个说明用例是“您需要在野外支持多个版本的软件”。要做到这一点,而不重写历史,您需要有长期存在的发行分支。在发行版不再受支持之前,您无法删除发布分支,因为将提交和标记注入master分支所需的任何技术都可能会导致严重的问题。

由于解决方案是在发行版不再受支持之前保持发布分支,我的建议是为所有受支持的主要和次要版本提供发布分支。也就是说,您将保留release-1.2release-1.3release-1.4release-2.0分支,但永远不会保留release-1.2.1release-1.4.3分支。

因为您的发布分支现在寿命很长,所以可以在发布分支上创建您的修补程序分支,而不是标记。您可以开发修复程序,测试它,然后将其合并到发布分支中。在这里,您可以构建和部署系统。

如果在多个发行版分支(包括下一个版本的develop中)需要进行相同的更改,则可以选择提交。但是,如果所需的更改是不同的,这并不总是可能的。当您有多个受支持的版本时,您可能需要多次进行修复并发布不同的修补版本,以便在每个受支持的版本中进行正确的更改。这取决于您正在修复的问题的性质以及修复问题所需的更改。

票数 8
EN

Software Engineering用户

发布于 2022-09-07 06:09:44

作为保持发布分支的替代方法(如托马斯·欧文斯的回答中所描述的那样),一些人用长寿命的support分支扩展了git流模型。

当需要该版本上的第一个修补程序时,将从1.2发行版的标记中创建一个support分支,并将收集1.2版本上的所有修补程序和相关的发布标记。

票数 3
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/440863

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档