我们有一个开发分支,开发人员在任务完成时检查他们的工作区。他们标记了办理登机手续。让我们说3个开发人员,标签为1,2和3.现在我想合并标签1和标签3
我的问题是,标签3不会包含标签1和2中的所有代码吗?
在我看来,没有好的方法可以从合并中省略标签2.
答案 0 :(得分:1)
你是对的,标签包括整个代码库的横截面(虽然因为它们的范围可能在技术上不包括所有文件)。合并Label 1和3的唯一方法是查看相应的更改集并选择要合并的更改集,此过程称为cherry-pick-merging。如果将更改整齐地组合到一组连续的变更集中,那么这可能会有效。
您可以查看属于您要在该标签中合并的文件的变更集编号(可能有多个与标签关联的变更集版本)并合并特定的变更集。
依赖cherry-pick-merging is dangerous,因为实际合并两个变更集可能非常困难,而不会在两者之间进行其他更改。您可能会意外地对目标分支进行过多考虑,或者变更集依赖于您可能不会考虑合并的其他变更集的更改。
除非团队充分意识到这些变化将被挑选出来并以此为基础进行开发(搁置,将工作特征检入为单个变更集),应用design patterns签入可以的单独模块很容易与现有功能合并),然后合并到特定变更集或使用功能分支更安全。
选择性合并的另一种技术。功能是将feature-toggles放入您的代码中。基本上允许您在功能2关闭的情况下释放功能1 + 2 + 3。