“基础”和“派生”项目的TFS结构

时间:2017-03-19 00:49:38

标签: visual-studio tfs

我正在寻找关于如何在TFS中实现VS项目的类层次结构类型的一些想法和建议。 具体来说,我希望有一个“基础”项目,它将包含其余项目将继承的所有常用功能。当“基础”项目中需要进行更改时,将这些更改传播到基于此“基础”项目的其他项目应该相对容易。

显而易见的方法是从这个“基础”项目中分支其他项目,并在发生更改时合并来自此根项目的树,但我以前从未尝试过,并且希望听到尝试这样的事情的人之前或者对TFS有足够的经验,能够指出这种想法的固有问题或陷阱......

1 个答案:

答案 0 :(得分:1)

源代码管理中的项目实际上是文件夹。因此,您的问题与如何在TFS中构建文件夹的方式相同。

您的基础项目是main in branch的一些概念,它是作为主源树的容器文件夹的根文件夹,以及随附的项目工件,如设计文档,脚本和测试用例。 Main文件夹通常还包含Visual Studio Solution(.sln)文件。

在TFS中你可以convert a folder to a branch。然后你只需要将你的基础项目分支到其他项目。拥有分支关系后,您将能够合并两个分支之间的更改。此外,您还可以使用分支来实现以下目标:

  
      
  • 管理同一代码库上多个团队的并发工作
  •   
  • 隔离由代码库的不同更改集引入的风险
  •   
  • 拍摄快照,然后支持后续的隔离更改(例如,创建发布分支)
  •   

虽然您仍然可以在文件夹之间进行分支和合并,但您团队的最佳做法是仅在分支机构之间进行分支和合并。

当您执行分支操作时,分支机构比文件夹具有重要优势。分支支持版本控制功能,可以提供对分支结构以及变更集合并位置的额外可见性。 (有关更多信息,请参阅以下精彩链接:Visual Studio TFS Branching Guide

对于这种想法的固有问题或陷阱,有一件事是当你得到,签入,合并或取消搁置时,你可能需要resolve conflicts。另一件事是许可。最好避免每个人都有权将“派生”项目中的更改合并回“基础”项目。

此外,您可以在同一个团队项目中创建多个团队,您可以将它们嵌套以方便层次结构。如果您有兴趣,可以查看blog,其中显示了如何配置它。