在正在进行的发布期间进行热修复 - 合并还是挑选?

Hot-fix during the ongoing release - merge or cherry-pick?

我们正在尝试使用来自 Attlasian 的 SourceTree 工具来遵循 git 流程,该工具具有所有神奇按钮,例如:start/finish 功能,start/finish 发布,start/finish 热门-使固定。到目前为止一切顺利,一切似乎都是合乎逻辑的。

当我们有一个正在进行的发布分支时需要热修复时会出现这个小问题。

因此,根据 git 流程,一旦我们完成了热修复,热修复的分支就会合并到 master 和 develop 中——SourceTree 也是如此。在a-successful-git-branching-model document中明确说明,这是一种特殊情况,需要将hot-fix分支合并到master和release分支中,稍后将此hot-fix合并回develop。

我的问题是我不想手动来回合并,我仍然想使用 SourceTree 工具中的魔术按钮。

那么我有什么选择:

  1. Cherry 选择从开发到发布早午餐的热修复提交 - 不太喜欢它,因为历史缺失
  2. 将整个 master 分支合并到 release 分支 - 甚至不确定这是否是个好主意
  3. ?

鉴于您关闭了修补程序分支(并且它被合并回 developmaster),如果您不想挑选提交,我会考虑合并 develop 分支到您的 release 分支(首先查看自您启动 release 分支以来 develop 还发生了什么)

如果你只想通过魔术按钮(没有命令行或手动合并)来做这件事,并且很乐意增加另一个版本号,你可以完成你的发布(合并到 master 和 development,在你的修补程序),并开始新版本。

我意识到我的问题是什么。我们使用的流程不是纯粹的 git 流程。根据 git-流程,下一个版本在 develop 分支中,一旦它稳定并准备好发布,一个短暂的(几分钟)release 分支是为 "dotting the i's" 创建的。紧接着这个分支应该完成合并到 master 分支和 develop 中。 所以,如果我们严格按照git-流程,就不会出现"merge or cherry-pick during the ongoing release branch"的问题,因为不会出现这样的情况。