我正在尝试了解如何在 Team Foundation Server 2010 中使用分支和合并。以下策略适用于 Web 开发团队。
我的想法是有5个文件夹。Main 文件夹、Development 文件夹、QA 文件夹、Production 文件夹和 Hotfix 文件夹。主文件夹将仅包含主分支。开发人员将直接在主分支中工作,或者在 Development 文件夹中创建一个新分支,然后在完成后合并回主分支。当我们想要创建发布版本时,我们将主分支提升为 QA 1.0.0 分支。当该分支稳定时,我们将该分支提升为生产分支 1.0.0。生产分支变为只读,然后 QA 分支将合并回主分支。我们还使用 QA 1.0.0 分支来分支修补程序。所以这里的例子是,在 QA 分支进入生产之后,我们发现了一些错误。然后我们将 QA 分支 1.0.0 升级为 Hotfix 1.0.1 分支。当 Hotfix 分支稳定时,我们将其升级为生产分支 1.0.1。当在 Production 1.0.1 分支中发现新错误时,我们会从 Hotfix 1.0.1 分支创建一个新的 Hotfix 1.0.2 分支。当该分支稳定时,我们将该分支提升到生产分支 1.0.2。所有这些都在 Team Foundation Server 2010 中运行良好。
我在 TFS 2010 中遇到但不知道如何以好的方式解决的问题是如何将修补程序提升到主分支。我不想将我的修补程序合并到 QA 1.0.0 分支中,因为我可能需要为来自 QA 分支 1.0.0 的不同客户创建不同的修补程序。所以我需要将 Hotfix 1.0.1 分支直接合并到主分支中。
我知道我可以使用命令行工具通过毫无根据的合并来解决它。这是唯一的出路吗?还有其他更好的建议如何解决我想要完成的事情吗?用户界面工具?如果我想以某种方式使用的分支/合并策略可以得到改进,我也将不胜感激。