(离开 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 次提交)?