Unshelve 命令(Team Foundation 版本控制)

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

Visual Studio 2019 | Visual Studio 2022

Team Foundation 版本控制 (TFVC) unshelve 命令可将搁置的文件修订、签入说明、注释和工作项关联还原到当前工作区。 还可以使用 unshelve 命令从服务器中删除现有搁置集。

先决条件

  • 若要使用 unshelve 命令:
    • 必须将“读取”权限设置为“允许”。
    • 必须将搁置集中项的“签出”权限设置为“允许”。
  • 若要删除搁置集,必须是其所有者,或者必须将“管理搁置的更改”全局权限设置为“允许”。

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

语法

tf unshelve [/move] [<shelveset-name>[;<owner-name>]] <item-spec> 
[/recursive] [/noprompt][/login:<username>,[<password>]]

参数

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

参数

Argument

说明

<shelveset-name>

指定要还原的搁置集的名称。

<owner-name>

指定搁置集所有者的用户名。

<item-spec>

标识要取消搁置到当前工作区中的文件或文件夹修订。 如果未包含此参数,则默认情况下,将取消搁置指定搁置集中的所有挂起的更改。 不允许使用服务器路径。

若要详细了解 TFVC 如何分析 <item-spec> 值以确定哪些项在范围内,请参阅使用 Team Foundation 版本控制命令、使用选项修改命令的运行方式

注意

可指定多个 <item-spec> 参数。

<username>

/login 选项提供值。 可以将此值指定为 DOMAIN\<username><username>

<password>

/login 选项提供值。

选项

选项

说明

/move

成功取消搁置搁置集后,从 Azure DevOps Server 中删除指定的搁置集。 此选项不能与 <item-spec> 值组合使用。

还可以使用 shelve 命令删除搁置集。

/recursive

指定应以递归方式匹配 <item-spec> 值。

/noprompt

指定 TFVC 不应提示输入。

/login

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

注解

tf 命令行实用工具的 unshelve 命令从 Azure DevOps 服务器检索所有搁置文件修订或所有搁置文件修订的已定义子集。 然后,该命令将修订存储在当前工作区中。

若要取消搁置某个项,目标工作区中不得存在针对其的挂起的修订。

取消搁置搁置集时,只要搁置修订与工作区中已挂起的更改不冲突,TFVC 就会将每个搁置修订作为挂起的更改还原到目标工作区。 若要详细了解取消搁置过程中发生的情况,请参阅处理搁置集

可以使用 unshelve 命令将单个文件修订从搁置集还原到工作区。 运行 unshelve 命令后,运行 get 命令以协调自创建搁置集以来签入服务器的任何更改。

若要详细了解如何使用 tf 命令行实用工具,请参阅使用 Team Foundation 版本控制命令

回收搁置的更改

如果要将搁置修订集成到当前工作区以进行持续修订,请取消搁置所需的搁置集。 最佳做法是在取消搁置后获取最新版本的版本控制文件。

取消搁置并查看其他用户的代码

还可以取消搁置搁置集,以便查看其他用户工作区的更改。 若要出于此原因取消搁置,你可使用两个选项:

  • 第一个选项适用于自创建搁置集以来尚未修改搁置项和相关项,或仅进行了轻微修改的情况。 在这种情况下,可以从搁置集所有者的工作区中检索所有相关项的基础版本。 若要使用此选项,请运行以下命令的变体:tf get \* /version;W<workspace-name>,其中 <workspace-name> 是其他用户从中创建搁置集的工作区的名称。

  • 第二个选项适用于自创建搁置集以来已过去很长时间,或工作区中存在多个修订的情况。 在这种情况下,可以从服务器检索截至创建搁置集的日期和时间的所有相关项的版本。

可以通过将用户名追加到搁置集名称来取消搁置其他用户的搁置更改。 但是,只有具有 AdminShelvedChangesets 权限,才能从其他用户创建的 Azure DevOps 服务器中删除搁置集。

如果尝试取消搁置目标工作区中具有挂起的更改的项,TFVC 不会合并项之间的差异,也不会将修订检索到工作区中。

可以使用 tf shelve /delete 删除搁置集。 有关详细信息,请参阅 Shelve 命令。 若要在取消搁置整个搁置集后自动删除搁置集,请使用 tf unshelve /move

示例

以下示例打开“取消搁置”对话框,以便可以查找搁置集并将其取消搁置到当前工作区。 还可以在对话框中选择在取消搁置操作完成后删除搁置集。

c:\>tf unshelve

以下示例将搁置集 buddytest_1256 取消搁置到当前工作区,并将其从 Azure DevOps Server 中删除:

c:\>tf unshelve /move buddytest_1256