什么是 TFS 以及数据如何存储在其中

Team Foundation Server(通常缩写为 TFS)是一个 Microsoft 产品,提供源代码管理(通过 Team Foundation 版本控制或 Git),报告,需求管理,项目管理(适用于敏捷软件开发和瀑布团队),自动构建和实验室管理,测试和发布管理功能。它涵盖整个应用程序生命周期。TFS 可用作众多集成开发环境的后端,但专为 Microsoft Visual Studio 和 Eclipse 量身定制。

好处:

  1. Team Foundation Server 提供了一组与现有 IDE 或编辑器配合使用的协作工具,因此你的团队可以有效地处理各种形状和大小的软件项目。
  2. 使用无限的私有存储库存储和协作代码。使用 Git 进行分布式版本控制以最大化协作或使用 Team Foundation 版本控制(TFVC)进行集中版本控制。
  3. 支持 AGILE 方法
  4. 支持多种语言和 IDE
  5. 允许第三方插件集成

TFS 的类型:

  1. 线上
  2. 本地

在线由 Microsoft 的云平台 Windows Azure 提供支持,它不需要任何设置。用户使用 Microsoft 帐户登录以开始设置其帐户,创建项目和添加团队成员。在为期三周的开发周期中开发的新功能首先添加到在线版本中。这些功能以大约三个月的间隔迁移到本地版本作为更新。

Team Foundation Server 将所有变更集数据存储在 SQL Server 数据库中。它完整​​地存储来自最新变更集的代码。然后它将 diff 存储到以前的版本。将它存储在 SQL Server 中的一个好处是它获得了由事务提供的全部或全部保存功能。TFS 的架构是集中的。这意味着所有源代码都保存在一个位置。在集中式体系结构中,TFS 服务器本身可以被视为单点故障,但是在 Windows Server 操作系统中提供高可用性解决方案时,不一定如此。类似地,存储实际源代码位的 SQL Server 数据库可以镜像在多个服务器上。TFS 控件旨在与最新版本的 Microsoft Visual Studio 无缝集成。但是,这并不意味着你无法将 TFS 版本控制与其他软件开发产品一起使用。TFS 中的功能可分为以下几个方面。 基本功能 - 检入和检出文件锁定 - 限制并发编辑分支和合并 - 使用不同版本的源代码安全性 - 决定谁可以访问版本控制数据以及如何

任何版本控制系统的基本功能包括检入和退出文件。为了支持并发性,TFS 允许对同一文件进行多次检出,但如果需要,可以禁用此功能。项目也可以独占锁定,以便其他人无法在锁定文件时签入或签出文件。如果在团队项目设置中禁用了并发签出,则在签出时会自动在文件上放置锁定。分支和合并可以被认为是 TFS 中的高级功能,但是它们非常有用。分支的主要思想是获取一组源代码文件并从这些文件创建不同的版本。分支代码可以与原始源文件分开存在。例如,如果你正在开发通用应用程序但需要为某个客户制作专用版本,则可以从主源控制树(主干)分支客户自定义。如果需要以后出现,你可以再次将自定义代码与原始源控制线组合在一起。这称为合并。TFS 中的所有内容(Active Directory 用户权限版本控制除外)都存储在中央 SQL Server 数据库中。这包括团队项目设置,文件数据,变更集详细信息等。由于几乎所有内容都位于中心位置,因此必须确保定期备份 SQL 数据库并制定灾难恢复计划。要了解如何将版本控制集成到 Microsoft Visual Studio 中,你需要了解三个单独的窗口(或窗格,取决于你的观点):Source Control Explorer,Solution Explorer 和 Pending Changes 窗口。连接到 Team Foundation Server 实例后,解决方案资源管理器将允许你通过右键单击项目直接从窗口签出和签入文件。但是,默认情况下,只需在 Visual Studio 中开始编辑文件时就会发生签出。例如,如果你在编辑器中打开 C#源代码文件并开始输入,则会检出该文件。这通常是检查文件最方便的方法。解决方案资源管理器窗口显示的小图标可帮助你区分已锁定,已签出和已添加的文件,等等。蓝色锁定图标表示文件是源代码管理的一部分,但当前未签出。红色复选标记表示文件已被签出,并且黄色加号表示文件已添加到项目中。在 TFS 中,检出操作和获取最新版本的操作是彼此分开的。实际上,这意味着在签出文件之前,你应该对要签出的文件执行获取最新命令。只需右键单击解决方案资源管理器中的项目,然后选择获取最新菜单项即可完成此操作。若要更改此默认行为,可以选择 Microsoft Visual Studio 的“工具/选项”菜单命令,然后导航到“源代码管理/ Visual Studio Team Foundation Server”部分。从这里,你可以找到名为在结账时获取项目的最新版本的选项。源代码控制窗口允许你获得版本控制树的更全面视图。

要打开窗口,请选择“查看/其他 Windows /源代码管理资源管理器”菜单命令,或双击 Visual Studio 的团队资源管理器窗口中的源代码管理节点。Source Control Explorer 窗口允许你查看和操作版本控制树中的文件。你可以通过此窗口执行与在解决方案资源管理器中执行的操作相同的所有操作:例如,你可以签入和签出文件,重命名,删除文件等。不同之处在于使用 Source Control Explorer 窗口,你使用的文件不需要是 Visual Studio 开发项目的一部分,例如 C#项目。例如,你可以将 Excel 电子表格添加到版本控制; 这是你可能不希望通过解决方案资源管理器执行的操作。每当你使用版本控制下的文件进行编辑,添加或删除它们时,Visual Studio 不会立即将更改提交回版本控制。相反,只有在检查更改时才会执行此操作。与此同时,默认情况下,所有更改都存储在挂起的更改列表中,可以通过 Pending Changes 窗口查看。

Pending Changes 窗口显示尚未签入的文件列表。该窗口还指示所请求的操作(添加,编辑,删除或重命名)。通常,你通过此窗口进行签到,因为它允许你在单个操作中方便地签入多个文件。你还可以编写注释以附带已签入的文件,并且可以使用这些文件链接到 Team Foundation Server 工作项。总的来说,一个或多个源文件,可选注释和工作项关联共同形成一个变更集。TFS 中的变更集始终以原子方式进行检查,这意味着完成集在签入中成功或失败。变更集与唯一 ID 相关联,稍后可以通过 Source Control Explorer 窗口查看。在 TFS 版本控制中,变更集是一个基本概念,因为它是系统可以处理的最小变更集。变更集可以包含单个文件或一组文件。此外,它是报告的基础,尤其是与工作项目一起使用时。