【问题标题】:TFS structure for "base" and "derived" projects“基础”和“派生”项目的 TFS 结构
【发布时间】:2017-03-20 16:22:13
【问题描述】:

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

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

【问题讨论】:

  • 如果您投票结束,请给我指出一个更适合这个问题的地方。 Porgrammers stackexchange 似乎不是那个地方...
  • 您是使用 TFVC 还是 Git 进行源代码控制?
  • 我正在使用 TFVC。

标签: visual-studio tfs


【解决方案1】:

源代码管理中的项目实际上是文件夹。所以你的问题在某种程度上与如何在 TFS 中构建文件夹相同。

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

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

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

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

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

对于此类想法的固有问题或缺陷,一件事是您在获取、签入、合并或取消搁置时可能必须resolve conflicts。另一件事是许可。最好避免每个人都有权将“派生”项目中的更改合并回“基础”项目。


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

【讨论】:

    猜你喜欢
    • 2019-03-12
    • 1970-01-01
    • 2014-02-19
    • 1970-01-01
    • 1970-01-01
    • 2014-04-30
    • 2022-12-03
    • 2016-01-10
    • 1970-01-01
    相关资源
    最近更新 更多