如何在TFS上撤消“获取最新版本”

时间:2013-05-15 08:44:35

标签: visual-studio visual-studio-2010 tfs undo

我在VS2008和VS2010上使用TFS,在TFS集合中我有几个项目。

我已经将TFS根目录映射到本地驱动器以保留TFS文件夹结构,并且我已经完成了几个子文件夹的Get Latests。

我还下载了一个不需要的文件夹,所以我删除了本地文件夹内容,但现在在TFS中,我看到该文件夹​​为黑色,“最新”是。如何告诉TFS我已经在本地删除了我之前下载的文件夹?

3 个答案:

答案 0 :(得分:24)

我认为问题在于你不同意TFS对“最新”的意思。 TFS中的“最新”意味着服务器上没有任何变化,因为您确实获得了最新信息。这并不意味着硬盘驱动器上的内容与服务器上的最新版本相同。 所以TFS显示了它应该是什么,请看更多这个问题:Why doesn't TFS get latest get the latest?

正如MBulava所提到的,服务器上您不希望在本地硬盘上拥有的文件夹的目标解决方案是“Cloak”。 (右键单击文件夹 - > Cloak)。如果你不想在你的硬盘上有一个文件夹,我推荐这个解决方案,因为它永远不会下载,直到你揭开它,并显示为灰色并“未下载”。

如果要查看硬盘驱动器上的内容与服务器版本之间的差异,可以使用“比较文件夹”功能。它将显示该文件夹已在硬盘驱动器上删除。

如果您想要将文件夹映射为灰色(与未下载的其他文件夹一样),您可以隐藏它,然后将其隐藏,但现在回答“否”以下载它。这相当于首先不下载文件夹。

答案 1 :(得分:8)

Martin Woodward有一篇很酷的TFS Top Tip #11 - Removing source control files from your local file system博文,可以解决这个问题,而无需使用隐藏真实内容。

您需要 获取特定版本 ,将版本类型更改为更改集并指定 1 表示变更集编号。他的博客文章详细介绍了为什么这样做。我已在团队资源管理器中为Visual Studio 2013,2015和2017验证了此行为。

<强> 更新

如果您要处理一堆文件夹,可以使用命令行,如下所示将 folderName 替换为Client itemspec or the equivalent Server itempec的相对文件夹:

tf.exe get folderName /v:1 /recursive

答案 2 :(得分:0)

Mbulava建议使用“斗篷”将文件和/或文件夹保留在TFS服务器上,但将从本地版本和“获取最新版本”请求中删除文件/文件夹。

如果已从本地目录中删除文件,然后希望将这些更改显示在服务器上,则需要转到TFS控制器,选择要删除的文件,右键单击并删除文件夹。然后,您需要“签入”对TFS服务器的未决删除更改。然后,TFS服务器将删除文件/文件夹。