2
考虑以下情况:如何合并bug修复分支到主干和分支释放
- 发展干线主要是做。
- 在修复复杂错误或开发新功能(最初不稳定)时使用分支。
正常情况下,一旦开发完成,这些分支就会合并到主干中。 - 1个分支用作当前发行分支(比如说当前的“R-1.0”)。
- 标签用于发布(将是“R-1.0.0”)。
现在一个复杂的错误,这是在躯干以及在当前版本1.0.0必须固定:
- 的分支“BG-1”,从主干将被创建。
- 该错误将在此分支中得到解决。
与此同时发展将继续在后备箱。
你现在如何继续将分支重新集成到主干和“R-1.0”?
- 将中继线合并到“BG1”中,然后将“BG1”重新整合到中继线中,然后重新整合到“R-1.0”中。
=>这不可能是解决方案,因为这种方式“R-1.0”会收到从发布版1.0开始的所有东西,这不是目标。 - 尝试将“BG1”重新整合到主干中,然后重新整合到“R-1.0”中,而不合并主干。
=>这也不能工作,因为其他不属于版本1.0的更改已经是“BG1”分支的一部分。
有没有解决这个问题的方法?
我看到的唯一解决方案是从“R-1.0”启动“BG1”,而不是首先启动“trunk”。如果是这样,这是否意味着对于每个错误修复分支,开发人员必须找到包含此发行版分支中的错误和分支的最早支持版本?
更新:
拼尽全力发展和树干的做法源于this answer by "Jim T"这是一个概念,我真的很喜欢。
[+1]我做了一些测试,并得出了与您的建议相同的结果。将BG1集成到主干中似乎是最容易的,然后只将此版本合并到R-1.0中。让我看看是否有其他建议,如果没有,我会接受你的答案。 – Marc 2011-02-08 20:58:54