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
命令的参数和选项。
参数
参数
说明
<shelveset-name>
指定要还原的货架集的名称。
<owner-name>
指定货架集所有者的用户名。
<item-spec>
标识要取消保留到当前工作区中的文件或文件夹修订。 如果未包含此参数,则默认情况下,指定货架集中的所有挂起更改均未保存。 不允许使用服务器路径。
有关 TFVC 如何分析 <item-spec>
值以确定哪些项在范围内的详细信息,请参阅 使用 Team Foundation 版本控制命令 - 使用选项来修改命令的方式。
注意
可以指定多个 <item-spec>
参数。
<username>
为 /login
选项提供值。 可以将此值指定为 DOMAIN\<username>
或 <username>
。
<password>
为 /login
选项提供值。
选项
选项
说明
/move
成功取消搁置集后,从 Azure DevOps 服务器中删除指定的货架集。 此选项不能与 <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