Undelete 命令(Team Foundation 版本控制)

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

Visual Studio 2019 | Visual Studio 2022

Team Foundation 版本控制 (TFVC) undelete 命令用于还原以前删除的项。

注意

在执行签入操作之前,此命令的结果在其他工作区中不可见。 有关详细信息,请参阅开发代码和管理挂起的更改

先决条件

若要使用 undelete 命令:

  • 必须将“签出”权限设置为“允许”。
  • 如果包含 /lock 选项,且其值不为 None,则必须将“锁定”权限设置为“允许”。
  • 必须拥有工作区或将全局“管理工作区”权限设置为“允许”。

有关详细信息,请参阅默认 TFVC 权限

语法

tf undelete [/noget] [/lock:(none|checkin|checkout)] 
[/recursive] <item-specification>[;<deletion-ID>] [/login:<username>,[<password>]]

参数

以下各部分介绍 undelete 命令的参数和选项。

参数

Argument 说明
<item-specification> 确定要还原的文件或文件夹。 有关 TFVC 如何分析 <item-specification> 值以确定哪些项在范围内的详细信息,请参阅使用 Team Foundation 版本控制命令
<deletion-ID> 指定一个唯一标识符,用于消除同名的多个已删除项的歧义。
<username> /login 选项提供值。 可以将该值指定为 DOMAIN\<username><username>

选项

选项

说明

/noget

将已删除的项还原到工作区。 在签入操作完成之前,此选项会在服务器上还原项,但不会立即将项的物理副本检索到磁盘。

/lock

阻止其他用户签入或签出指定文件。 有关详细信息,请参阅了解锁定类型

锁定选项:

  • None:此选项为默认值。 未应用锁定。
  • Checkin:其他用户可以签出指定项,但在你通过签入锁定文件来释放锁定之前,他们无法签入对锁定文件的修订。 如果任何其他用户锁定了任何指定项,锁定操作会失败。
  • Checkout:此选项会阻止其他用户签入或签出任何指定项,直到通过签入锁定文件来释放锁定。 如果任何其他用户锁定了任何指定项,锁定操作会失败。

/recursive

从指定目录还原所有文件和子文件夹。

/login

指定用户名和密码,以便使用 Azure DevOps 对用户进行身份验证。

注解

tf 命令行功能的 undelete 命令计划在签入操作完成之前还原指定的文件或文件夹。 除非显式包含 /noget 选项,否则它还会将指定的项从服务器检索到本地磁盘。

从同一服务器文件夹中删除了同名的文件或文件夹时,必须包含 <deletion-ID> 参数的值,以指示要还原的已删除项。 可以使用 dir 命令获取 <deletion-ID>

如果要在还原后更改文件,请像往常一样使用 checkout 命令签出文件进行编辑。

<item-specification> 值指定某个文件夹时,默认情况下,TFVC 会还原该文件夹的所有文件和子文件夹及其包含的文件。 如果不想还原文件夹中的所有项,必须先取消删除文件夹及其项,然后删除不想保留的项。

有关如何使用 tf 命令行实用工具的详细信息,请参阅使用 Team Foundation 版本控制命令

示例

以下示例将 314.cs 还原到从中删除了 314.cs 的服务器文件夹。 该命令还检索当前工作区中最新版本的只读副本。

C:\projects>tf undelete c:\math\314.cs

以下示例显示服务器上已删除多次的所有项的删除 ID:

c:\projects>tf dir $/ /deleted

上一个命令的输出可能如以下示例所示:

$/projects/math/314.cs;X10
$/projects/math/314.cs;X11

以下示例将 314.cs 的 X11 版本还原到从中删除了该文件的服务器文件夹。 该命令还检索当前工作区中最新版本的只读副本。

c:\projects>tf undelete 314.cs;X11