我们在交付新版本时的政策是在我们的 VCS 中创建一个分支并将其处理给我们的 QA 团队。当后者开绿灯时,我们标记并发布我们的产品。该分支会保留(仅)接收错误修复,以便我们可以创建技术版本。这些错误修复随后被合并到主干上。
在此期间,主干看到主要的开发工作,并且可能会受到重构更改的影响。
问题是需要有一个稳定的主干(以便错误修复的合并成功 - 如果代码已被提取到另一个方法或移动到另一个类,通常不能)和在引入新功能时需要对其进行重构。
我们的策略是在足够的时间过去并且分支足够稳定之前不进行任何重构。在这种情况下,可以开始在主干上进行重构更改,并且在主干和分支上手动提交错误修复。
但这意味着开发人员必须等待相当长的时间才能在主干上提交任何重构更改,因为这可能会破坏从分支到主干的后续合并。不得不手动将错误从分支移植到主干是很痛苦的。在我看来,这阻碍了发展......
你如何处理这种压力?
谢谢。