2011-02-23 79 views
0

G'day,颠覆多功能开发分支

以下策略是否可以通过颠覆实现?

  1. 保存应用程序
  2. 的量产版的稳定主干单独开发分支,拥有多个功能
  3. 保持开发分支中同步与稳定躯干
  4. 合并/复制个人功能从开发分支到主干,因为他们变得生产就绪

想要2.的原因是我们还需要一个“早期版本”构建,其中包含当前正在开发的所有功能。

标准feature branch模式不足。该分支具有单个功能,并且一旦该功能合并到稳定的主干中就应该删除。我读过你可以继续使用merge --reintegrate之后的分支,但不推荐。

我想知道(文件系统)是否可以将开发分支中的各个功能复制到主干的工作副本(构建,测试,提交,然后立即与树干同步分支)?同步会导致冲突,但容易解决。

谢谢,
Chris。

回答

1

您可以根据需要制作多个分支,名称“trunk”和“feature”没有特殊之处。在你的情况下,我会说几个功能分支,可能是以跟踪器中的功能检查项命名的。

+0

谢谢Satya。你是正确的区分主干和分行名义而已,我欣赏这一点。然而,我不明白我能够(容易地)维护一个“早期访问”版本,当每个功能驻留在一个单独的分支上时,该版本可以保存所有正在开发的功能。我怎样才能做到这一点? – 2011-02-23 06:08:41

+0

如果我正确理解你的问题:你可以有树干,devel,earlyaccess,f1,f2,... fn分支。将f1与fn融合在一起,随时准备就绪。保持与主干同步。将f1到fn合并到主干中。嗯,似乎会有同步问题,很多冲突。这是假设我明白你想要什么。嗯,用git代替? (我是一个svn的人,所以这不是那种倡导:-) – Satya 2011-02-23 13:16:34

+0

是的,我认为你正确地理解了这个问题,并且感谢这个建议,但我认为同步和冲突问题会使它在实践中变得很难。不幸的是,git不是一种选择,所以在没有任何其他建议的情况下,我会使用我的原始提案。 – 2011-02-24 07:01:09

0

是的,你的策略可以通过颠覆实现。但是这将会非常低效,因为您必须在合并命令中列出与要合并的要素相关的所有提交(或提交范围)。

一个更好的策略是单功能分支。您可以根据需要拥有尽可能多的分支机构,并可以随时单独合并它们。而且您不必在此时列出提交,因为您通常会合并每个分支的整组更改。

人们经常争辩说,由于难以合并回避,应避免分支。但是从多功能分支中挑选樱桃更令人不快。