在 VSTS 上使用 Git 进行集中控制

Centralized control with Git on VSTS

我们在 VSTS(以前称为 VSO)存储库中使用 TFVC。因为我们喜欢集中控制我们的代码。

我们现在想在我们的团队中添加 Visual Studio 代码,看起来 VS Code 只支持 Git。

我们可以在我们的 VSTS 存储库中使用 Git 并仍然保持集中控制吗?

此时,使用 Git 的唯一原因是 VS Code——除非有其他充分的理由。

老实说,我根本不了解 TFVC,但是使用 Git 的原因有很多,可以简单地总结为 "Git is the best thing that happened to VCS and there is virtually nothing that you cannot do with it"。

这还包括在集中式工作流程中使用它。如果您想要一个集中式工作流,只需设置一个中央裸存储库,每个开发人员都将向其推送和从中获取,您基本上就完成了集中式工作流设置。

VS Code 现在支持 TFVC。 Announcement back in April.

我喜欢 Git 并认为它很棒,但在某些情况下集中式 VC 仍然会获胜。

  • 在 Git 下基本上不可能实现文件和文件夹级别的安全性。您可以尝试预接收挂钩和子模块,但这些会带来自身的复杂性,并且不能完全涵盖集中式 VC 可以涵盖的 space。
  • 大型二进制文件。虽然 Git LFS 使它变得更好,但它是一个附加组件,有时会出现接缝。
  • 您的工作目录中有大量文件。 GVFS 解决了这个问题,但同样,它是一个附加组件。大多数集中式 VCs 没有工作目录大小的问题。由于 "work on file" 往往是一个显式操作,因此他们不必在签入时对文件系统卑躬屈膝。