0

我们遵循 GitHub 流程策略(创建功能/错误修复分支,并在完成后通过拉取请求将它们合并回来)。我们还会在发布软件的每个新版本时标记版本。

我们在旧版本(比如 tag v1.0.0)中发现了一个错误,并将其修复在该标记的“错误修复分支”中,如下所示:

         |tag: v1.0.0              |where we are now
         |                         |
master --| * ----------------------| head
          \----- bugfix-branch

我想将 bugfix-branch 合并到 master 的当前负责人中(其中包含我们还不想发布的东西),但也想v1.0.1基于旧的标记版本创建一个标签(逻辑上就在 之后v1.0.0,其中 * 显示下面)我们可以发货。

希望更清楚,错误修复分支包含 3 个提交。我可以吗:

  1. 将错误修复分支合并到 master(最好作为 squash 提交)
  2. 将错误修复分支的头标记为v1.0.1
  3. 删除错误修复分支(但保持标签v1.0.1完好)?

给:

         |tag: v1.0.0             |where we were
         | |tag: v1.0.1           |   |where we are now (inc. bugfix-branch commit)
master --| | ---------------------|---| head
4

1 回答 1

0

标签只是一个提交的替代名称。它不“包含”任何东西。选择一个提交并标记它!在我看来,您想标记bugfix图表中当前调用的提交,但如果没有,请选择另一个。

编辑

我可以:1)将错误修复分支合并到master(最好作为壁球提交)

为什么不?

2) 将 bug-fix 分支的头部标记为 v1.0.1

为什么不?我会先这样做,只是因为现在很容易找到该提交。

3) 删除 bugfix-branch (但保持标签 v1.0.1 完好)?

为什么不?bugfix-branch 只是此提交的另一个名称。他们都只是名字!

于 2020-05-14T11:42:24.093 回答