【问题标题】:How to insulate teammate's code with each other in Team Foundation Server?如何在 Team Foundation Server 中将队友的代码相互隔离?
【发布时间】:2026-01-31 23:05:02
【问题描述】:

我们打算用c#开始一个项目,需要我们团队中的每个人都只能查看和编辑自己的部分代码(老板的需要)。我是 TFS 的新手,所以我想知道 TFS 是否以及如何做到这一点。

谢谢。

【问题讨论】:

  • 这听起来像是一个非常狡猾的设置,但你可以通过几种不同的方式来解决这个问题。每个人一个新的集合,每个人一个新的团队项目,每个人在您的分支中具有安全设置的子文件夹($/Project/PaulsCode、$/Project/SamanthasCode 等)等等。您甚至可以按文件执行此操作,但像这样对安全权限进行微观管理将是一场噩梦。
  • 您是否查看过安全性和访问权限?应该很容易设置。

标签: c# tfs tfs-2015


【解决方案1】:

除非这像是超级秘密的 NSA 或军事之类的东西,否则这种设置是愚蠢,你应该找到一个更理智的老板的更好工作。在任何 VCS 中,你的老板都会看到谁改变了什么。没有必要进行如此残酷的源代码划分,IMNSHO。事实上,它阻碍了合作。即使这是 NSA/军事类的东西,也应该有一些信任,因为你应该已经被审查为可以看到/开发秘密的东西。

【讨论】:

    【解决方案2】:

    如果您需要,您可以为每个开发人员设置一个分支并适当地设置权限,或者您根本不必设置这些权限,并且如果您稍后决定不需要设置这些权限,仍然拥有每个开发人员的分支以进行代码隔离你需要的东西。这就是许多开源项目在 GitHub 上的工作方式,您可以在其中 fork 一个存储库,这相当于 TFS 中的分支。然后,当您对开发人员自己分支中的更改感到满意时,您将合并回主分支。

    所以您的团队项目可能如下所示:

    $/Team Collection  
    ---Team Project  
    ------Main  
    ------Dev  
    ---------Developer A  
    ---------Developer B  
    

    所以在上面的例子中,Developer A 是 Main 的一个分支。如果您不熟悉 TFS 和分支/合并,我强烈建议您阅读 Visual Studio ALM Rangers 分支和合并指南。这是下载pdf的链接:

    https://vsarbranchingguide.codeplex.com/releases

    这是一篇堆栈溢出文章,其中有人提出了类似的问题:

    Per developer branch in TFS feasible?

    【讨论】: