开发代码和管理挂起的更改

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

您对文件所做的大多数更改都将作为挂起的更改进行排队。 在工作中,你可以组织、管理和获取有关已更改内容的详细信息。

在 Visual Studio 中工作

在 Visual Studio 团队资源管理器的主页(可通过按 Ctrl+0、H 打开)中,可以在新的或现有的解决方案中开始编码。

显示团队资源管理器主页中“解决方案”的屏幕截图。

打开解决方案后,可以按 Ctrl+Alt+L 键打开解决方案资源管理器。

包含项目和文件的解决方案资源管理器的屏幕截图。

使用解决方案资源管理器打开和修改受源代码管理的文件时,系统会自动签出该文件。 将显示图标来指示尚未更改的文件 “未更改”图标、已签出的文件 “已更改”图标和已添加到解决方案的文件 “已添加”图标

如果你正在处理包含大量文件的解决方案,则可能会发现,筛选解决方案资源管理器视图以仅显示已更改的文件 “筛选”图标(或按 Ctrl+[、P 键)会很方便。

使用“我的工作”页管理工作

可以在团队资源管理器中打开“我的工作”页或按 Ctrl+0、M 键来管理工作。

注意

以下版本的 Visual Studio 提供“我的工作”和“代码评审”功能:

  • Visual Studio 2022:Visual Studio Community、Visual Studio Professional 和 Visual Studio Enterprise
  • Visual Studio 2019:Visual Studio Professional 和 Visual Studio Enterprise

团队资源管理器中“我的工作”页的屏幕截图。

可以使用“我的工作”执行以下操作:

  • 给自己分配工作。
  • 根据工作项跟踪工作。
  • 暂停,之后继续工作,包括文件更改、关联工作项以及窗口位置和断点等 Visual Studio 状态。
  • 请求代码评审。

有关分步示例,请参阅 DevOps 开发人员一天的生活:为用户情景编写新代码DevOps 开发人员一天的生活:暂停工作、修复 bug 和执行代码评审

提示

  • 可以控制“可用工作项”部分显示的工作项类型。 选择一个默认选项或包含在根“共享查询”文件夹中的任何查询。 若要处理这些查询,请使用团队资源管理器中的“工作项”页。

  • 将工作项移至“可用工作项”、“正在进行的工作”或“暂停的工作”时,系统将更新工作项状态或注释,以便自动向你的团队通知工作状态。 例如,团队的任务板会更新以显示你的状态。 请参阅使用 Visual Studio 跟踪工作

  • 如果项目包含自定义的工作项类型定义,则在使用“我的工作”时可能会遇到问题,除非项目的管理员执行了某些步骤。 请参阅为项目配置和自定义敏捷计划工具更新自定义过程模板以访问新功能

使用“挂起的更改”页管理工作

可以使用团队资源管理器中的“挂起的更改”页来管理你的工作。 若要打开“挂起的更改”,请在“我的工作”页上的“正在进行的工作”下选择“签入”,或按 Ctrl+0、P 键。

团队资源管理器中“挂起的更改”页的屏幕截图。

提示

  • 可以从团队资源管理器中取消停靠 取消停靠“挂起的更改”页,以在新窗口中打开它。
  • 可以通过“包含的更改”下的“视图选项”链接在列表视图和树状视图之间切换。

您对开发计算机上的文件所做的几乎所有更改都将作为挂起的更改存储在您的工作区中,直到您将其签入。 更改包括:

处理自动检测到的更改

如果你在本地工作区中工作,Visual Studio 可以检测到你在系统外进行的更改。 如果在 Visual Studio 外(例如在记事本中)编辑文件,更改会自动显示在“挂起的更改”页上的“包含的更改”下。

如果在 Visual Studio 外(例如在文件资源管理器中)添加或删除文件,该文件会显示在“排除的更改”部分的“已检测到”链接下。 如果要包含这些更改,请选择“已检测到”链接。

将显示“提升候选更改”对话框。 可以右键单击项并选择“在 Windows 资源管理器中浏览”以将其显示出来,或选择“从磁盘中删除”以将其删除。 选择项,然后选择“提升”以将该项添加到“包含的更改”。

注意

不会显示空文件夹。

如果不需要签入的项经常显示在“提升候选更改”对话框中,你可以右键单击项,然后选择“忽略此本地项”以忽略该项。 还可以选择“按扩展名忽略”、“按文件名忽略”或“按文件夹忽略”来创建一个文件,使 Visual Studio 系统地忽略此类文件。 有关 .tfignore 文件的详细信息,请参阅将文件添加到服务器

若要排除更改,请参阅选择要签入的文件

关联工作项

最佳做法是将工作项(如任务或 bug)与更改相关联。 在“相关工作项”下,拖动查询中的工作项或按其 ID 进行添加

查看已更改的内容

可以查看文件中已更改的内容。

使用“挂起的更改”查看更改的内容

在“挂起的更改”页上,右键单击该项并选择:

  • “与工作区版本比较”以查看与工作区中的版本相比所进行的更改。
  • “与最新版本比较”以查看你的更改与团队的代码库中的最新文件版本的对比情况。

使用解决方案资源管理器或源代码管理器查看更改的内容

  1. 在解决方案资源管理器或源代码管理器中找到并选择所需项。
  2. 右键单击该项,然后选择“比较”。
  3. 在“比较”对话框中,从“类型”菜单中选择
    • “工作区版本”以查看与工作区中的版本相比所进行的更改。
    • “最新版本”以查看你的更改与团队的代码库中的最新文件版本的对比情况。
    • 其他选项之一:“变更集”、“日期”或“标签”。
  4. 选择 “确定”

将显示“差异”窗口。 若要使用此窗口,请参阅比较文件

撤消挂起的更改

可丢弃工作区中的一个、一些或所有挂起的更改。

注意

其他选项:

撤消一些挂起的更改

  1. 打开“撤消挂起的更改”对话框:

    • 在解决方案资源管理器中,右键单击项,然后选择“源代码管理”>“撤消挂起的更改”。
    • 在团队资源管理器的“挂起的更改”页中,右键单击各项,然后选择“撤消”。
    • 在源代码管理器中,右键单击各项,然后选择“撤消挂起的更改”。

    提示

    若要撤消你在解决方案或代码项目中所做的所有更改,请右键单击解决方案或项目,然后选择“撤消挂起的更改”。

  2. 在“撤消挂起的更改”对话框中,确保选中要撤消的更改,然后选择“撤消更改”。

撤消所有挂起的更改

在团队资源管理器的“挂起的更改”页上,选择“操作”链接,然后选择“全部撤销”。

使用命令提示符

  • Status 命令在命令提示符中显示挂起的更改。

  • Checkin 命令在“签入”对话框中打开挂起的更改。

  • Undo 命令撤消挂起的更改。

    提示

    如果有足够的权限,可以使用 Undo 命令撤消其他用户的签出。

  • Difference 命令显示文件中已更改的内容。

后续步骤

完成更改后:

提示