Unshelve 命令
更新:2007 年 11 月
将搁置的文件修订、签入说明、注释和工作项关联还原到当前的工作区,或将现有搁置集从服务器中移除。
必需的权限
若要使用 unshelve 命令,您必须将“读”权限设置为“允许”,并且您必须针对搁置集中的这些项将“签出”权限设置为“允许”。此外,若要删除搁置集,您必须是搁置集所有者或将“管理搁置的更改”全局权限设置为“允许”。有关更多信息,请参见 Team Foundation Server 权限。
tf unshelve [/move] [shelvesetname[;ownername]] itemspec
[/recursive] [/noprompt]
参数
参数 |
说明 |
---|---|
shelvesetname |
要还原的搁置集的名称。 |
ownername |
搁置集所有者的名称。 |
Itemspec |
标识要取消搁置到当前工作区中的文件或文件夹修订。如果未包含此参数,则在默认情况下,指定的搁置集中所有挂起的更改将被取消搁置。不允许使用服务器路径。 有关 Team Foundation 如何分析项规范以确定哪些项在范围之内的更多信息,请参见命令行选项。 |
选项 |
说明 |
---|---|
/move |
取消搁置的操作成功完成后,立即从 Team Foundation 服务器中删除指定的搁置集。此选项不能与 itemspec 一起使用。 也可以使用 shelve 命令删除搁置集。 |
/recursive |
如果指定了此选项,将以递归方式匹配项规范。 |
/noprompt |
如果指定了此选项,将不提示您输入。 |
备注
tf 命令行实用工具中的 unshelve 命令将所有搁置的文件修订或所有搁置的文件修订中定义的子集从 Team Foundation 服务器检索到当前工作区中。
若要对某一项执行取消搁置操作,目标工作区中不能包含与该项有关的挂起的修订。
在对搁置集执行取消搁置操作时,只要已搁置的修订不与工作区中已挂起的更改发生冲突,Team Foundation 就会将每个修订作为挂起的更改还原到目标工作区。有关取消搁置过程中所发生情况的更多详细信息,请参见使用版本控制搁置集。
可以使用 unshelve 命令将单个文件修订从搁置集还原到工作区。取消搁置后应运行 get 命令,以协调创建搁置集后签入服务器中的任何更改。
有关如何查找 tf 命令行实用工具的更多信息,请参见 Tf 命令行实用工具命令。
回收搁置的更改
如果要将搁置的修订集成到当前的工作区中以便进行持续修订,请取消搁置所需的搁置集。最佳做法是,在取消搁置后还获取受版本控制的文件的最新版本。
取消搁置并查看其他用户的代码
为了查看其他用户的工作区的更改,您也可以取消搁置某个搁置集。要出于此原因而取消搁置,您有两个选择。
如果搁置项以及与之有关的项尚未修订,或自搁置集创建以来只做了少许修订,则可以从搁置集所有者的工作区中检索所有相关项的基本版本。为此,可以使用以下命令的某个变体:tf get * /version;Wworkspacename,其中 workspacename 是工作区的名称,其他用户可以从该工作区创建搁置集。
如果已经过相当长的时间,或者自搁置集创建以来工作区已进行了多次修订,则可以从服务器检索自搁置集创建的日期和时间以来所有相关项的版本。
可以通过将用户名追加到搁置集名称中来取消搁置其他用户的已搁置更改。但是,如果您具有 AdminShelvedChangesets 权限,您只能从其他用户创建的 Team Foundation Server 中移除搁置集。
如果您尝试取消搁置某个项,而该项是目标工作区中存在挂起的更改的原因,Team Foundation 将不合并项之间的差异,且不会将修订检索到您的工作区中。
可以使用 tf shelve /delete 来删除搁置集。有关更多信息,请参见 Shelve 命令。要在取消搁置整个搁置集后自动删除搁置集,请使用 tf unshelve /move。
示例
下面的示例打开“取消搁置”对话框,以便您找到搁置集并将其取消搁置到当前的工作区中。您还可以使用对话框中的一个选项,在取消搁置操作完成时删除搁置集。
c:\>tf unshelve
下面的示例将搁置集 buddytest_1256 取消搁置到当前的工作区中,并将它从 Team Foundation Server 中移除。
c:\>tf unshelve /move buddytest_1256