在Git Workflow中使用旧版本

时间:2015-06-03 16:27:01

标签: git branching-and-merging git-workflow

据我所知,GIT wokflow以下列方式描述:http://nvie.com/posts/a-successful-git-branching-model/

我有一个与此工作流程中旧分支修正有关的问题。

鉴于我们有大量旧版本分支合并到主分支。我们的最新版本是发布说2.6。我们需要修复一些旧的发布分支中发现的一些bug,比如1.5。我们从与1.5版相关的主分支状态创建一个分支,修复它,部署它就可以了。但现在问题仍然存在:我们如何将这一变化存储和传播到所有新版本?

我们不能将此修复程序合并到master中。例如,因为我们正在修复的类可以在2.3版中删除。它可能不在主分支的HEAD中。

不确定我们是否可以将其合并到master的历史中。我无法想象它应该如何改变所有提交。

所以在修补程序之后看起来所有master分支的下一个提交都已过期而无法使用。如果我们在1.9版本中有一些错误,那么我们唯一的选择就是从master的1.9提交中创建一个分支,以某种方式将它与该1.5修补程序合并然后继续...

我的理解是否正确?

1 个答案:

答案 0 :(得分:1)

上述工作流程不包括您提到的案例。 如果旧版本在较新版本中不存在,这意味着该错误甚至可能不存在,因此错误修复不应传播到新版本。此外,您无需将其合并到主历史记录中,因为主服务器代表当前的产品状态(在客户手中),这在版本中处于领先地位。 请记住,更改任何旧节点的历史记录将更改下一个节点的所有历史记录链。

要解决此问题,最好创建一个新的分支,例如“Support-1.5”,其中包含与该特定旧版本产品的支持相关的更新,将相关的错误修正合并到它,以及只要支持旧版本的产品,就支持分支机构。

希望这有帮助。

相关问题