您如何发布对先前版本的错误修复并对其进行标记?
How do you release a bugfix to a previous version and tag it?
我们正在尝试将 gitflow 应用到我们的工作流程中。 Git在涉及修补程序时,流程非常简单。但是,我不清楚如何修复我们系统以前版本的错误。
例如,假设我们使用的是 8.1.3 版本,我需要修复 7.1.5 的错误。我可以创建一个基于 7.1.5 标签的分支,但是我如何将它返回到 master 并标记它呢?甚至可以使用 Git 吗?我正在考虑只保留发布分支并在那里提交和标记,但我不确定这是否是正确的做事方式。
一种方法可以是:
- 创建一个分支“7.1”,在其上创建错误修复(7.1.6,...)
- cherry-pick 您的修改也将它们放在 master 之上(您将再次标记,但使用另一个标记:8.1.4)
不确定这是最好的方法,但有可能。
Git-flow在其原始模型中并没有同时谈论支持的主要版本。它没有描述您在生产中具有以下版本的模型:
- 7.1.5:两个客户正在使用这个
- 8.2.3:三个客户正在使用这个
- 9.0.0:这是您当前正在开发的下一个主要版本。
在 Git-flow 中,master 分支是您当前支持的已发布版本,其他所有内容都是旧版本并被视为遗留版本。
话虽如此,但由于我们处于相同的情况,我们必须同时支持多个主要版本(至少一个我们提供错误修复,一个我们提供新功能),我们提出了以下建议:
- develop和master:这些是当前工作的分支。进入下一个主要版本的任何内容都在这里完成。
- 一旦我们发布了新的稳定版本(例如 7.3.0),我们将创建以下分支:
- 7.3/开发
- 7.3/master
这些分支现在成为此受支持版本的 develop 和 master 分支。我们需要在 v7.3.0 上做的任何修复都在 7.3/develop 分支中完成,一旦我们创建版本 v7.3.1,它就在 7.3/develop 和 7.3/master.
需要在两个 develop 分支中完成的更改通常是精心挑选的,因为我们不想合并来自 develop[ 的新功能=49=] 进入一个较旧的,但仍保持 develop 分支。
这个过程需要一些设置,但效果很好,只要您记得在开始使用下一个稳定版本时创建所需的分支,就不会产生太多开销。
我们正在尝试将 gitflow 应用到我们的工作流程中。 Git在涉及修补程序时,流程非常简单。但是,我不清楚如何修复我们系统以前版本的错误。
例如,假设我们使用的是 8.1.3 版本,我需要修复 7.1.5 的错误。我可以创建一个基于 7.1.5 标签的分支,但是我如何将它返回到 master 并标记它呢?甚至可以使用 Git 吗?我正在考虑只保留发布分支并在那里提交和标记,但我不确定这是否是正确的做事方式。
一种方法可以是:
- 创建一个分支“7.1”,在其上创建错误修复(7.1.6,...)
- cherry-pick 您的修改也将它们放在 master 之上(您将再次标记,但使用另一个标记:8.1.4)
不确定这是最好的方法,但有可能。
Git-flow在其原始模型中并没有同时谈论支持的主要版本。它没有描述您在生产中具有以下版本的模型:
- 7.1.5:两个客户正在使用这个
- 8.2.3:三个客户正在使用这个
- 9.0.0:这是您当前正在开发的下一个主要版本。
在 Git-flow 中,master 分支是您当前支持的已发布版本,其他所有内容都是旧版本并被视为遗留版本。
话虽如此,但由于我们处于相同的情况,我们必须同时支持多个主要版本(至少一个我们提供错误修复,一个我们提供新功能),我们提出了以下建议:
- develop和master:这些是当前工作的分支。进入下一个主要版本的任何内容都在这里完成。
- 一旦我们发布了新的稳定版本(例如 7.3.0),我们将创建以下分支:
- 7.3/开发
- 7.3/master
这些分支现在成为此受支持版本的 develop 和 master 分支。我们需要在 v7.3.0 上做的任何修复都在 7.3/develop 分支中完成,一旦我们创建版本 v7.3.1,它就在 7.3/develop 和 7.3/master.
需要在两个 develop 分支中完成的更改通常是精心挑选的,因为我们不想合并来自 develop[ 的新功能=49=] 进入一个较旧的,但仍保持 develop 分支。
这个过程需要一些设置,但效果很好,只要您记得在开始使用下一个稳定版本时创建所需的分支,就不会产生太多开销。