![]() |
1
29
这是最好的单曲 source control pattern 我遇到的。它强调了让行李箱中没有任何垃圾(行李箱中没有垃圾)的重要性。开发应该在开发分支中完成,并且定期合并(在代码测试之后)应该返回到主干中(图1),但是模型还允许在开发过程中修补源代码(图2)。我绝对建议你完整地阅读这篇文章,以便完全理解。
Pic 1
Pic 2
这些图片毫无文字可言地令人困惑。我可以解释,但我基本上是在模仿原作者。话虽如此,我可能应该选择一幅更好的图片来描述合并过程,所以希望这能有所帮助。不过,我还是建议你阅读这篇文章:
|
![]() |
2
6
我所见过的分支工作的最简单和最常见的方式是两个前提。后备箱和释放。我认为这被称为“不稳定的主干,稳定的分支”的哲学。
释放 是与主干的一对多关联。有一个主干,但有许多从主干派生的版本。发布通常在达到特定功能里程碑后从主干的一个分支开始,因此对于特定部署,“唯一”剩下的事情应该是bug修复。然后分支主干,给它一个标签(例如,1.6版本是我们当前的最新版本),构建并将该版本发送给QA。在这一点上,我们还将主干的版本号(通常是次要版本号)推高,以确保没有两个版本具有相同的版本号。 然后在发布分支上开始测试周期。当执行了足够的测试后,您可以将错误修复应用于发布分支,将它们合并回主干(以确保错误修复得以继续!),然后重新发布分支的构建。QA的这个周期会一直持续下去,直到你们都满意为止,最终发布给客户。任何来自客户的准确错误报告(即,它们是错误!)都会与相关分支机构开始另一个QA周期。
使用此技术,您可以使用您的技术将解决方案部署到需要不同服务级别的各种客户(首先从最低级别开始),您可以将现有部署与主干中的“危险”新代码隔离开来,最糟糕的合并场景是一个分支。 |
![]() |
3
3
我的第一个建议是阅读Eric Sink的 Source Control HOWTO branches 和 branch merge 章。
至于VSS->TFS-Microsoft支持 upgrade path 哪一个 保留您的版本历史记录,但如果您不需要它作为历史记录,我只需要从VSS获取最新版本,将其签入TFS并归档VSS存储库。 最后一个提示-让您的团队成员熟悉源代码管理。 他们必须理解分支和合并 或者你会被困在做大量的清理工作:)。 祝你好运 |
![]() |
4
1
《颠覆》一书描述了 some common branching patterns . 也许您也可以将这些应用于TFS。 |