31

我需要从 TFS 下载一个搁置集到本地文件夹。Visual Studio 2010 是否有任何工具或插件可以下载搁置集

4

3 回答 3

47

如果您只需要将文件从搁置集中获取到本地文件夹,这是一个正常的过程,称为Unshelve。它将文件下载到您的本地文件夹。

在此处输入图像描述

例如,在取消搁置之前,您的本地文件夹中有以下内容:

  • 文件 1
  • 文件 2

搁板有:

  • 文件 1 (修改)
  • 文件 3 (已创建)

unshelf 后会有:

  • 文件 1 (更新)
  • 文件 2
  • 文件 3 (添加)

如果您只需要工作区文件夹中搁置集中的文件而不需要其他任何内容,则其中一种方法是:

  1. 创建新工作区,但不下载任何东西(即不获取最新版本)
  2. 那应该创建一个空的本地文件夹
  3. 使用 Visual Studio 或 tf.exe 取消搁置
  4. 您应该只有搁置集中的文件

您可以在此处找到有关管理搁置集的更多信息: 暂停您的工作并管理您的搁置集 (MSDN)

于 2012-10-27T14:28:04.280 回答
4

使用命令提示符,我们可以获得文件的转储:

set shelveset=<ShelvesetName>
set temppath=c:\temp\%shelveset%
md %temppath%

for /f "delims=;" %t in ('tf status /shelveset:%shelveset% /format:detailed ^| find ^"$^"') do tf view %t /shelveset:%shelveset% /noprompt > %temppath%\%~nxt

请注意,这提供了一个平面结构,如果有同名的文件,它将重写。

于 2018-03-29T05:58:24.087 回答
2
  1. 关闭 Visual Studio
  2. 重命名文件夹,例如在文件夹名称中添加 postfix original 使“SolutionX”文件夹变为“SolutionX - Original”
  3. 再次创建一个“SolutionX”文件夹,这将是空的
  4. 打开 VS,取消搁置 shelvset1,“SolutionX”现在只有 shelvset1 文件
  5. 关闭 VS(这可能不需要)
  6. 将“SolutionX”重命名为“SolutionX Shelveset1”
  7. 再次创建一个“SolutionX”文件夹,这将是空的
  8. 打开 VS 并撤消挂起的更改
  9. 取消搁置 shelvset2,“SolutionX”现在只有 shelvset1 文件
  10. 关闭VS,将“SolutionX”文件夹重命名为“SolutionX Shelveset2”
  11. 将“SolutionX - Original”文件夹重命名为“SolutionX”
  12. 打开 VS 并撤消挂起的更改
  13. 使用比较工具比较“SolutionX Shelveset1”和“SolutionX Shelveset2”

    如果您发现不需要某些步骤,请告诉我进行更新,我尝试了第一个答案,遇到了问题,不得不提出这个。

于 2018-01-22T07:16:45.497 回答