0

(离开 git 很长一段时间了,虽然这里有类似的问题,但大多数似乎都掩盖了这部分......这可能意味着它应该很明显......对不起......)


场景

所以我有一个在它自己的分支上开发的功能,在测试和批准后合并到开发(not-ff;我更喜欢看到变化),一切都很开心。

但随后财务部门参与进来,我们同意在旧版本上向客户发布相同的功能。

现在碰巧这个特定区域仍然非常兼容。所以我可以在目标分支上选择一个接一个的更改,我没有冲突,最后必须做一个微小的更新,我就完成了......

但是有没有更好的方法以与以前相同的非 ff 方式将功能分支的所有 delta 直接应用到旧版本,而无需对每个更改进行挑选?

想看更多图...

贪婪之前:

c1 -> c2 -> c3 -> c4 -> c5 -> c7 -> c8 -> ... c130 -> c133 -> (m)c135 -> c136       (develop)
         \                                  \               /                   
           -> c6 -> c9                       \             /                        (release/legacy)
                                              -> c131 -> c132                       (feature/awesomeFeature)

樱桃采摘:

c1 -> c2 -> c3 -> c4 -> c5 -> c7 -> c8 ->     ...     c130 -> c133 -> (m)c135 -> c136       (develop)
             \                                          \               /                   
               -> c6 -> c9 -> c131' -> c132' -> c137     \             /                    (release/legacy)
                                                          -> c131 -> c132                   (feature/awesomeFeature)

(是樱桃精选,c137 是对遗留中不存在的任何位的小清理)

我想要什么:

c1 -> c2 -> c3 -> c4 -> c5 -> c7 -> c8 ->          ...         c130 -> c133 -> (m)c135 -> c136   (develop)
             \                                                    \               /
               -> c6 -> c9                          -> (m)c138     \             /               (release/legacy)
                         \                        /                 -> c131 -> c132              (feature/awesomeFeature)
                          \                      /
                            -> c131 -> c132 -> c137                                              (feature/monetizedAwesomeFeature)

(即 c137 是对遗留中不完全存在的任何位的小清理)

实现这一目标的最巧妙方法是什么(显然这里的情况不仅仅是对该功能的 2 次提交)?

4

0 回答 0