2014-02-13 95 views
0

我们有一个项目,我们一直在树干编码。后备箱现在有一个已经编码的大特征,但我们不希望在第一个版本中出货。分支与树干

但我们也想为首次发布清理代码,因此要消除由于从项目中此功能的所有文件和功能版本1

然而,我们需要的所有文件和功能回来一次,我们准备出货版本2

为了以最有效的方式做到这一点,我们应该保持的功能在躯干和创造版本1的独立分支。在这种情况下,我们将从分支中删除与该功能相关的所有文件和功能,然后在发布后将此分支合并回中继。

还是应该保持在一个单独的分支功能相关的文件和功能,然后清理树干。发布后,我们可以将分支合并到主干中以获取该功能。

这两种方法哪一种更好? a)支持清理版本的功能和中继 b)支持清理功能的功能和分支

说我遵循以下步骤。

  1. 我创建一个分支科-V1。在这种情况下,Branch-V1的主干和 都具有BigFeature。
  2. 我删除并修改Branch-V1中的文件以完全消除BigFeature。
  3. 我船V1从科-V1
  4. 我标签分公司-V1。
  5. 我将Branch-V1合并到主干中。

当我将Branch-V1与中继合并时,我是否不会松开trunk中的BigFeature?

回答

1

更好的办法是从大的功能开始之前的主干分支,然后将更改应用于此版本1支,当你准备好了V1合并到干线创建v2的树干。

听起来很复杂,但它最小的努力来解决你的问题 - 所以在专用v1分支上工作,释放该分支,然后合并回主干,准备好v2。

你,虽然这样做,你必须做的第一件事就是合并变更到主干前使你的发布1代码的新标签的那一刻。然后,您必须在主干上有v2代码后才能正常工作,从主干分支到新的“大特征”分支并完成它,并为您想添加的任何其他功能创建分支。当它们完成时将它们合并到主干上,并且当你释放使'标记'分支形成主干时。

你可以通过转储清理你的仓库,将2个分支重命名为v2 trunk card更名为'v2 branch',v1的分支可以成为主干。如果你有信心做到这一点,我会推荐它,因为它会解决的事情,你可以假装你会在一个适当的组织已经工作方式一直:)

0

我会做的方式,这是如下: -

  1. 在您开始对此大特性进行更改的版本中,从trunk中创建分支“v-1.0”。如果您难以跟踪修订版本号,只需从当前版本开始修改分支,并撤消您在#2中建议的修改。

SVN复制-r REV-NUM /中继线/branches/v-1.0

  • 继续前进以 “V-1.0” 和装运产品从这个分支完成。 对于在1.0中进行的每一个提交,我都会确定在trunk中提交它(解决当时和之后的任何冲突)。一般来说,在大型项目中,后备箱的发展也是并行的。

  • 1.0退出之后,为发行版创建一个标签,声明“v-1.0”,并且如果在此发行版或补丁程序上有任何其他请求要发送,则可以使用此同一分支。

  • SVN复制/branches/v1.0 /tags/v-1.0

    因此,你可以继续在分支发展,以及在行李箱中。

    +0

    我唯一的疑问是,当我撤销分支中的更改,然后在主干中,并不是所有清理都发生在主干中? – praveen

    +0

    那么,你不应该撤销主干中的变化,因为你将需要他们的未来版本。仅在分支中进行更改 - 这是创建分支的全部要点。 – Suresh

    相关问题