我们遵循 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 个提交。我可以吗:
- 将错误修复分支合并到 master(最好作为 squash 提交)
- 将错误修复分支的头标记为
v1.0.1
- 删除错误修复分支(但保持标签
v1.0.1
完好)?
给:
|tag: v1.0.0 |where we were
| |tag: v1.0.1 | |where we are now (inc. bugfix-branch commit)
master --| | ---------------------|---| head