Team Foundation Server 向后分支

Team Foundation Server Branching backwards

我在 Microsoft visual studio 在线的 TFS 中有一个项目。有一个 base / trunk,出于这个问题的目的,我将其称为 "Branch 0"。这意味着具有项目的所有基本功能。从这里,我们创建了第二个分支,"Branch 1",它为我们的第一个客户端提供了特定于客户端的实现。最初的概念是,当我们对 Branch 0 进行改进、修改和添加新功能时,它们可以合并到 Branch 1,以及我们为新客户设置的任何其他后续分支。

虽然是最好的计划...由于时间安排和我有时未能正确管理开发过程,许多基本功能是在 Branch 1 而不是 Branch 0 中实现的。理想情况下,我想将 Branch 1 合并回 Branch 0,然后删除任何特定于 Client 1 的内容。但我担心的是,这样做会造成我无法再安全地从 Branch 0 分支更改的情况备份到分支 1,或者 TFS 会看到我在分支 0 中删除了一个文件,然后在下次我将 0 合并到 1 时将其从分支 1 中删除吗?那当然会破坏整个目的。

您不必将所有内容合并回 branch0,您可以选择特定的变更集。 如果做不到这一点,您可以向下合并,然后选择不提交回 branch0 的内容。

只要您有客户特定的代码分支,您就总是会遇到这个问题。我会努力将这两件事分开。您有可以为每个客户定制的基本应用程序。这是一回事,不同的,可以版本化。

另外,您应该拥有客户特定的定制,这些定制不会与其他所有内容一起分支。

想想 SharePoint、WordPress、DotnetNuke 或 Dymanics……将实施和开发分开。

如果您必须编写代码来创建自定义项,那么请使用插件模型并对您的插件进行版本化...