如何在循环工作流中共享先前版本和当前工作之间的修复?
How to share a fix between previous releases and current work in the cycle workflow?
我想知道我应该走哪条路线,是选择 cherry-pick 还是其他路线?
我有这个分支树:
ReleaseX
^
/
Master --> ReleaseY
|
V
WorkInProgress
| |
V V
FeatureX FeatureY .. etc
所以 WorkInProgress
从 Master
分支出来,当 WorkInProgress
是 "done" 时,我从 "Pull Request" 到 Master
,然后我从 Master
分支到一个新分支并将其命名为 ReleaseX
这使我能够支持发布并分别在任何发布分支上进行热修复。
我的问题有两个案例:
- 对
ReleaseX
进行修补程序,然后将其应用到 ReleaseY
- 为
ReleaseX
、ReleaseY
和 WorkInProgress
做一个修补程序
Cherry-Pick 是正确的选择吗?
这种分支结构是我只在你必须同时维护 ReleaseX 和 ReleaseY 时才推荐的(如果你这样做,祝你好运)
在这种情况下,我建议在首先发现它的 Release 分支上修复该错误(在您合并回的单独的修补程序分支中)。然后挑选那些提交到其他发布分支。
通常我喜欢避免挑选,因为它很难跟踪重复的提交,但该操作比修改已共享并标记为发布的历史记录(变基)提交更好。
我想知道我应该走哪条路线,是选择 cherry-pick 还是其他路线?
我有这个分支树:
ReleaseX
^
/
Master --> ReleaseY
|
V
WorkInProgress
| |
V V
FeatureX FeatureY .. etc
所以 WorkInProgress
从 Master
分支出来,当 WorkInProgress
是 "done" 时,我从 "Pull Request" 到 Master
,然后我从 Master
分支到一个新分支并将其命名为 ReleaseX
这使我能够支持发布并分别在任何发布分支上进行热修复。
我的问题有两个案例:
- 对
ReleaseX
进行修补程序,然后将其应用到ReleaseY
- 为
ReleaseX
、ReleaseY
和WorkInProgress
做一个修补程序
Cherry-Pick 是正确的选择吗?
这种分支结构是我只在你必须同时维护 ReleaseX 和 ReleaseY 时才推荐的(如果你这样做,祝你好运)
在这种情况下,我建议在首先发现它的 Release 分支上修复该错误(在您合并回的单独的修补程序分支中)。然后挑选那些提交到其他发布分支。
通常我喜欢避免挑选,因为它很难跟踪重复的提交,但该操作比修改已共享并标记为发布的历史记录(变基)提交更好。