我们使用 Subversion,除了像我这样的少数人之外,几乎没有在 Subversion 中进行分支和合并的经验。我的 Subversion 经验仅限于简单的功能分支,其中合并和树冲突虽然并不罕见,但也不是非常难以解决。
鉴于此,我正在帮助管理一个项目,在该项目中,我们目前对主干方法的 promise 根本无法满足我们的需求。我向我的本地化团队介绍了功能分支和合并,我们取得了一些成功。然而,简单的特征分支仍然无法回答我们所有的问题,例如:
看来git-flow as defined here回答很多这些问题会大有帮助。我在 Mercurial 中尝试了这种方法,似乎也可以在那里实现这种方法。可悲的是,此时迁移到 DVCS 已不在考虑之列。
但是,由于许多合并和树冲突,我在 Subversion 中模仿这种方法的简短尝试失败了。合并选项和边缘情况众多且令人困惑。
是否可以使用 Subversion 来实现 git-flow如果是这样,疼痛程度是多少?
最佳答案
我们使用所谓的不稳定主干开发方法。这是 Subversion 的创建者在创建 Subversion 时所考虑的开发方法。它简单易行。
这是它的工作原理:
会有一些合并。它主要是将发布分支上修复的缺陷合并回主干。执行此操作有以下三种选择:
--record-only
标志)。 当然,您会意识到这种方法需要一些称为计划的东西。您必须优先考虑您的工作,以便开发人员在为 future 版本工作之前先为即将发布的版本工作。只有在即将发布的版本上不再有足够的工作来让所有开发人员忙碌时,您才分支。
您可以实现标准 Git 工作流程,该工作流程为每个开发人员或问题使用单独的开发分支,然后将这些更改交付到主干上。这将需要很多分支,每个开发人员/功能一个。
您首先从主干合并到分支以重新设置代码。完成 rebase 后,您可以使用
--reintegrate
从分支合并回主干。转变。在 1.6 之前,您应该删除分支并重新创建它,因为 --reintegrate
有点搞砸了合并跟踪。但是,这已在 1.6.x 版及更高版本中得到修复。
关于svn - 是否可以在 Subversion 中使用 git-flow 模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13345667/