ALM基本分支计划 - 发布分支的目的?

时间:2014-08-13 18:34:23

标签: tfs branch branching-and-merging alm branching-strategy

Microsoft ALM小组将基本分支计划描述为需要 MAIN DEV RELEASE 分支。

我正在努力将分支/合并介绍给目前使用没有分支的源代码控制的新团队。

我想知道如何实际使用RELEASE分支。

可以在DEV分支中进行更改然后合并到MAIN分支而不需要需要RELEASE分支吗? MAIN仍然是只读的。它本质上基本上是RELEASE分支。我说这个的原因是因为我们没有那么多变化,但我想将稳定代码与新变化隔离开来。我们对“释放”的概念尚未明确定义。我还在努力。

我只是不知道我的团队 是否需要 一个RELEASE分支(具体考虑我们的需求)。

对于只拥有 MAIN DEV 分支的策略,我将不胜感激。

2 个答案:

答案 0 :(得分:2)

通常,发布分支用于“保管”。基本上与标签相同。

发布到制作通常是非常重要的事件,并且您想要确切地知道您发布了什么来源(如果您需要返回它)。当人们习惯于创建标签来跟踪这一点时,回过头来创建发布分支更好,原因如下:

  • 标签在TFS中是可变的,这意味着某人可能会更改标签而且没有审计跟踪
  • 分支当然也是可变的(可以签入更改),但可以通过分支特定权限锁定它
  • 此外,如果对发布分支进行了更改(它永远不应该),至少您有历史审计跟踪
  • 即使分支看起来像是一个重量级的操作,创建了整个代码库的副本,实际上TFS只是创建了一个指向相同文件的新指针,因此存储成本微不足道

答案 1 :(得分:2)

当我在客户端实施TFS(替换SVN)时,我走了另一条路。我所做的是最初引入MAIN分支和RELEASE分支而不是DEV分支,因为这对团队来说似乎很混乱。最初,很难将DEV分支的目的传达给SVN熟悉的团队。

我们的RELEASE分支的主要目的是保留一个历史占位符,如另一个答案所述。目前我们正在使用Git,我们有一个CI服务器执行发布过程,分支发布/ $ version_number。我认为这个概念可能更容易理解并传达给您的团队。即实际发布时自动创建发布分支。

相关问题