什么是Team Foundation 版本控制?
Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018
Visual Studio 2022 |Visual Studio 2019 |Visual Studio 2017 |Visual Studio 2015 |Visual Studio 2013
不管软件项目是大还是小,都应尽快使用版本控制。 版本控制系统是一些软件,可帮助跟踪在代码中随时间推移所做的更改。 编辑代码时,告知版本控制系统拍摄文件快照。 版本控制系统会永久保存此文件快照,以便用户稍后能够根据需要进行查阅。
Azure DevOps Services和 TFS 提供两种版本控制模型:Git(即分布式版本控制),Team Foundation 版本控制 (TFVC) (集中式版本控制)。 本文概述和使用Team Foundation 版本控制的起点。 如果要确定要使用的Azure DevOps Services/TFS 版本控件类型,请参阅为项目选择正确的版本控件。
为何使用版本控制?
如果没有版本控制,你很容易在计算机上保留多个代码副本。 这很危险,因为很容易在错误的代码副本中更改或删除文件,这可能会丢失工作。 版本控制系统通过管理所有代码版本,但一次只提供一个版本来解决此问题。
版本控制系统具有以下优势:
- 创建工作流 - 版本控制工作流可防止每个人使用其自己的开发过程与不同且不兼容的工具混沌。 版本控制系统提供进程强制和权限,以便每个人都留在同一页上。
- 使用版本 - 每个版本都有版本更改的说明,例如修复 bug 或添加功能。 这些说明可帮助你根据版本而非单个文件更改来跟踪代码中的更改。 可根据需要随时通过版本控制查看和还原存储在各版本中的代码。 这样就可以轻松地基于任何版本的代码进行新的工作。
- 一起编码 - 版本控制同步版本,并确保更改不会与团队中的其他更改冲突。 你的团队依赖于版本控制来帮助解决和防止冲突,即使人们同时进行更改。
- 保留历史记录 - 当团队保存新版代码时,版本控制会保留更改的历史记录。 可查看此历史记录,了解更改者、更改原因和更改时间。 历史记录让你有信心进行试验,因为可以随时回滚到以前的良好版本。 通过历史记录,你可以基于任何版本的代码进行基础工作,例如修复上一版本中的 bug。
- 自动执行任务 - 版本控制自动化功能可节省团队时间并生成一致的结果。 将新版本保存到版本控制时,可以自动执行测试、代码分析和部署。
开发人员可能需要大量时间:重现 bug、学习新工具以及添加新功能或内容。 随着用户的需求纵向扩展,版本控制可帮助团队协同工作并按时交付。
Team Foundation 版本控制
Team Foundation 版本控制 (TFVC) 是一个集中式版本控制系统。 通常,团队成员的开发计算机上的每个文件只有一个版本。 历史数据仅在服务器上维护。 分支是基于路径的,并且在服务器上创建。
TFVC 允许应用 精细的权限 ,并限制对文件级别的访问。 由于团队将所有工作检查到Team Foundation Server,因此可以轻松审核更改并确定在变更集中签入的用户。 通过使用 比较 和 批注 ,可以确定它们所做的确切更改。
快速入门
通过创建项目、配置工作区以及查看和共享代码来开始。 可以使用以下任一客户端或 IDE:
分步教程
通过以下教程了解在 TFVC 中工作的基础知识,本教程演示了开发人员使用 Visual Studio 和 TFVC 的一天。
你希望做什么?
-
花费几分钟的时间设置你的开发计算机以利用版本控制的基本代码的所有优势。
-
服务器工作区 - 在进行更改之前,团队成员公开签出文件。 大多数操作都要求开发人员连接到服务器。 此系统有助于锁定工作流。 采用这种工作方式的其他系统包括 Visual Source Safe、Perforce 和 CVS。 使用服务器工作区,可以纵向扩展到非常大的代码库,每个分支和大型二进制文件有数百万个文件。
本地工作区 - 每个团队成员使用最新版本的代码库的副本,并根据需要脱机工作。 开发人员签入其更改并在必要时解决冲突。 采用这种工作方式的另一个系统是 Subversion。
-
在大多数情况下,无需考虑版本控制。 当您需要管理和了解自己的更改时,系统会支持您。
-
有时,您需要搁置您正在进行的部分或全部工作。 您的版本控制系统可以消除一些烦恼并减少中断浪费的时间。
-
签入更改,以便团队可以基于、测试和释放已创建的值。
-
使用分支和锁隔离由不同的团队完成的工作所导致的风险。
-
版本控制系统的优点之一是您可以回头查看有关对文件做过的更改的详细信息。
-
您可以对服务器文件夹和本地文件夹进行比较,并查看每个文件夹在内容方面的差异。
-
使用版本控制的最大优点是使多个人员可以同时处理一个文件。 有一个缺点是您有时必须解决冲突。 尽管遇到冲突会令人沮丧,但系统提供了帮助您了解和解决冲突的信息和工具。
-
如果需要阻止文件或文件夹遭到签出和修改,您可以将其锁定。
操作仅适用于 tf ommand-Line
下表列出了 Team Foundation 版本控制的任务,这些任务只能在命令提示符下使用 tf 命令行工具执行。
| 任务 | 命令 |
|---|---|
| 删除其他用户的工作区。 | 带 /delete 选项的工作区命令。 |
| 撤消其他用户的签出。 | Undo 命令 |
| 删除其他用户的锁。 | Lock 命令 |
| 定义标签范围。 | Label 命令 |
| 执行无基合并。 | 合并命令 |
| 永久销毁内容。 | Destroy 命令 |
| 回滚一个或多个更改集的效果。 | Rollback 命令 |