内部应用程序的TFS 2010分支模型

内部应用程序的TFS 2010分支模型,tfs,branching-strategy,Tfs,Branching Strategy,这不是一个我没有任何想法的问题,而是我想展示一个模型,看看它是否得到批准,或者任何人都可以看到它的问题,或者有更好的建议。他们说,为了避免将来的麻烦,最好仔细选择分支模型 因此,我们有一个内部应用程序,只有一个版本是向客户发布的最新版本,基本上有两种开发活动:主要活动是为下一个版本工作,通常包括新功能和纠正性修复,并且是有计划的,第二个是未计划的,与维护有关,包括生产中当前版本的修补程序 经过长时间的研究,我们决定使用一个主干,从中我们分支出两个子分支:开发与维护或修补程序。正如指南中所述,每天

这不是一个我没有任何想法的问题,而是我想展示一个模型,看看它是否得到批准,或者任何人都可以看到它的问题,或者有更好的建议。他们说,为了避免将来的麻烦,最好仔细选择分支模型

因此,我们有一个内部应用程序,只有一个版本是向客户发布的最新版本,基本上有两种开发活动:主要活动是为下一个版本工作,通常包括新功能和纠正性修复,并且是有计划的,第二个是未计划的,与维护有关,包括生产中当前版本的修补程序

经过长时间的研究,我们决定使用一个主干,从中我们分支出两个子分支:开发与维护或修补程序。正如指南中所述,每天的开发都会在开发分支中进行,每次我们为下一个版本准备好功能时,我们都会从那里进行反向集成。在发布之前,反向集成将停止,代码将稳定在主分支中。从Main发布后,将有一个从Main到开发和维护的前向集成FI

任何热修复都只会发生在维护中,并且取决于修复,例如,如果我们想将其保留在代码库中,我们将在Main中执行RI,然后在开发中执行FI

现在一切看起来都很好,至少在纸上是这样,所以我想听听其他人对这个模型的看法

例如,我们还将考虑另一个分支,Release,其中代码的稳定发生在发布到生产之前,而不是直接在Main中工作,当然,我们将从这里发布到生产,在Main中进行RI,然后再进行FI到开发和维护,但我们不确定这是否会带来任何好处,或者只会增加复杂性

假设在开发中会有一些功能尚未准备好或不适合下一个版本,这意味着我们将不得不对与所需功能相关的变更集进行挑选,但根据文档,这并不太好。有什么建议吗


我知道这不是一个简单、直截了当的问题,而是一个开放的问题,但我还是希望能听到任何有类似经历的人的回答。提前感谢您的关注。

您是否阅读了TFS ALM Rangers分支指导文档?您提出的建议与他们的标准分支计划非常相似,尽管他们鼓励同时拥有一个发布和服务包分支,就像上面的发布和维护分支一样

我已经在一些客户机上实施了标准的分支计划,并且没有遇到任何问题。如果你计划采用并行工作流程,那么分支指南也有坚实的计划


另一个需要考虑的是阶梯模型,在每个版本中创建新的DEV分支,并将旧版本冻结为发布版本。这将避免RIs,因为您只需热修复旧版本,并在必要时将修复提交给新的开发分支。我也在这个模型中工作过,非常棒。

你读过TFS ALM Rangers分支指导文档吗?您提出的建议与他们的标准分支计划非常相似,尽管他们鼓励同时拥有一个发布和服务包分支,就像上面的发布和维护分支一样

我已经在一些客户机上实施了标准的分支计划,并且没有遇到任何问题。如果你计划采用并行工作流程,那么分支指南也有坚实的计划


另一个需要考虑的是阶梯模型,在每个版本中创建新的DEV分支,并将旧版本冻结为发布版本。这将避免RIs,因为您只需热修复旧版本,并在必要时将修复提交给新的开发分支。我也用过这个型号,非常棒。

听起来不错。读这篇:@KMoraz:我能从另一篇文章中得到的是选择简单而明智,我喜欢这样。然而,我不确定只有Dev&Main对我们来说是不够的。我们需要在不同版本之间隔离热修复程序的工作。谢谢你的链接,所有我能得到的阅读帮助。听起来不错。读这篇:@KMoraz:我能从另一篇文章中得到的是选择简单而明智,我喜欢这样。然而,我不确定只有Dev&Main对我们来说是不够的。我们需要在不同版本之间隔离热修复程序的工作。谢谢你的链接,所有我能得到的阅读帮助。谢谢你的回答。我从codeplex网站下载了内容,虽然我没有阅读所有内容,跳过了多团队、多功能、Concurrent service Pack等。是的,标准分支计划看起来不错,尽管我们没有真正做service Pack
xes/补丁,所以可能有Realease和Hotfix分支就足够了。尽管如此,我在任何一本指南中都找不到与该计划相关的深刻解释;比如什么时候做FI&RI,在产品发布之前在哪里稳定代码,发布到哪个分支,在哪里,在什么时间点。是的,他们不会给你所有的。。。这就是顾问的目的。。。事实上,我认为这是因为这些问题的答案是定性的/主观的。根据我的经验,答案是任何对你的团队有效的东西。在过去,我曾在团队中工作过,在团队中,RI的主要任务只发生在您想要发布分支时,而其他团队则在特性准备好进行QA时完成。我总是建议在发布分支时将bug栏提高到相当高的水平。仅P1/S1错误。所有其他的稳定都应该在那之前发生。谢谢你的回答。我从codeplex网站下载了内容,虽然我没有阅读所有内容,跳过了多团队、多功能、Concurrent service Pack等。是的,标准分支计划看起来不错,尽管我们没有真正做service Pack累积修补程序/补丁,所以可能有Realease和修补程序分支就足够了。尽管如此,我在任何一本指南中都找不到与该计划相关的深刻解释;比如什么时候做FI&RI,在产品发布之前在哪里稳定代码,发布到哪个分支,在哪里,在什么时间点。是的,他们不会给你所有的。。。这就是顾问的目的。。。事实上,我认为这是因为这些问题的答案是定性的/主观的。根据我的经验,答案是任何对你的团队有效的东西。在过去,我曾在团队中工作过,在团队中,RI的主要任务只发生在您想要发布分支时,而其他团队则在特性准备好进行QA时完成。我总是建议在发布分支时将bug栏提高到相当高的水平。仅P1/S1错误。所有其他的稳定都应该在这之前发生。