在TFS中删除本地文件夹


128

我是从TFS映射的一个大型项目的一部分,该项目中有一个我已经完成处理的文件夹。我不再需要该文件夹,因此我想删除本地副本。问题是TFS想要反映更改并从源代码管理中删除文件夹,我不想从TFS中删除它。

我能找到的唯一方法是取消映射工作空间,然后浏览并获取我需要处理的所有其他文件夹。

无论如何,我只能在本地删除该文件夹吗?


您能否提供更多信息,例如您使用的是哪个版本的TFS和Visual Studio?您正在使用服务器还是本地工作区?
James Reed

@JamesReed VS2008,带有兼容性补丁,VS2010和VS2012。TFS2012。本地工作区(每个Visual Studio版本使用单独的工作区)
James Barrass

Answers:


278

这是一篇较旧的文章,但是由于唯一给出的答案对我来说似乎“并不完全正确”,所以我还是想回答:我在这里以博客发布(德语):blog.nils-andresen.de

如果您有本地副本,则要这样删除或取消下载:

在此处输入图片说明

只需右键单击该文件夹,然后单击“获取特定版本”或“高级>获取特定版本”,然后指定Changeset 1即可

这也是为什么马丁·伍德沃德的TFS的关键技巧

...如果对文件执行“获取特定版本...”,然后选择Changeset 1,则文件将在本地删除,服务器将知道这一点。在“源代码管理”资源管理器中,文件的颜色将从黑色变为灰色,并且在最新列中将显示短语“未下载”。

变更集1是Team Foundation Server实例上的特殊变更集。它是在安装例程中创建的,仅包含一件事-源代码管理树中的根节点($ /)。如果您在任何实际文件上进行Changeset 1的获取,则它们在那时将在系统上不存在,因此将在本地删除,服务器将知道这一点。

获取特定版本-对话框

该过程完成后,“最新”列将显示“未下载”。

在此处输入图片说明

之后,可以安全地删除文件系统中的所有剩余文件。


5
伪装效果相当好,但是我使用这种方法取得了更大的成功,而且更简单。
尼尔森·罗瑟梅尔2014年

5
我非常喜欢这种方法。这不需要我在以后可能需要再次进行该项目时记住“斗篷”和“激活”的情况。我可以获取最新版本,很高兴。
2014年

6
看起来不错。为什么MS不构建直观的UI?例如简单的命令“删除本地副本”,以及我最喜欢的“高级>获取特定版本”。从什么时候起“ Get Specific Version”是高级的东西?如果这对他们来说是高级的,那么他们必须在内部拥有超级笨拙的开发人员。无论如何,谢谢您的回答(我无法忍受TFS [svn / git用户在这里])
Pawel Cioch

4
如果您已经删除了本地文件夹并尝试清理您的混乱情况,这也可以使用。
Hutch

2
等效命令行:tf vc get <itemspec> / version:c1 /递归/覆盖/ force
Brain2000

8

您可以在本地工作区中隐藏该文件夹。

通过将工作文件夹状态设置为“已隐藏”,您可以指定执行Get操作时,本地文件夹不应从服务器复制文件。您可以选择这样做以节省本地磁盘上的空间。如果以后决定需要获取那些隐藏文件夹中的文件,则必须将状态更改为“活动”,然后执行“获取”操作。


4
只是添加到此。要恢复到“已映射”的原始状态但没有获取状态(源代码管理资源管理器中为灰色),请删除隐身衣留下的所有东西,然后取消隐身。TFS会询问您是否要立即进行获取。单击否。
James Barrass 2013年

5
我选择隐藏而不是取消下载。我习惯于在顶层执行“获取最新信息”,并且这样做可以防止伪装重新下载特定文件夹。
Rudey 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.