删除TFS中的本地文件夹

Jam*_*ass 120 tfs

我是从TFS映射的大型项目的一部分,在该项目中有一个我已完成工作的文件夹.我不再需要该文件夹了,所以我想删除我的本地副本.问题是TFS想要镜像更改并从源代码控制中删除文件夹,我不想从TFS中删除它.

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

无论如何我可以在本地删除该文件夹吗?

Nil*_*ils 263

这是一个较老的帖子,但由于唯一给出的答案对我来说似乎"不完全正确"我还是想回答:我在这里博客(德语):blog.nils-andresen.de

如果您有本地副本,则要取消或取消下载,如下所示:

在此输入图像描述

只需右键单击该文件夹,然后单击"获取特定版本"或"高级>获取特定版本"并指定更改集1.

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

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

变更集1是Team Foundation Server实例上的特殊变更集.它是作为安装例程的一部分创建的,只包含一件事 - 源控件树中的根节点($ /).如果你在任何实际文件上获取变更集1,那么它们将不会在系统上的那个时间点存在,因此将在本地删除,服务器将知道这一点.

获取特定版本 - 对话框

当该过程完成时,"最新"列将显示"未下载".

在此输入图像描述

之后,可以安全地删除文件系统中的任何剩余文件.

  • 看起来像一个很好的黑客.为什么MS没有构建直观的UI?像简单的命令"删除本地副本",以及我最喜欢的"高级>获取特定版本".从什么时候"获取特定版本"是先进的东西?如果这对他们来说是高级的话,他们必须有超级愚蠢的开发人员.无论如何,谢谢你的回答(我不能忍受TFS [svn/git user here]) (5认同)
  • 伪装工作得相当好,但我用这种方法取得了更大的成功,而且更简单. (4认同)
  • 我更喜欢这种方法.这不需要我记住将来可能需要该项目的"斗篷"和"激活".我可以得到最新版本,我很高兴. (4认同)
  • 如果您已经删除了本地文件夹并且正在尝试清理您所造成的混乱,这也可以. (4认同)
  • 等效命令行:tf vc get <itemspec>/version:c1/recursive/overwrite/force (2认同)
  • 再次强调“变更集 1”的意思是“删除本地副本并告诉自己本地副本已被删除”。如此晦涩——试图找出 TFS 的“功能”浪费了多少劳动力和生产力? (2认同)

小智 8

您可以隐藏本地工作区中的文件夹.

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

  • 我穿着斗篷而不是下载.我习惯于在顶层做"获取最新",并且隐藏在这样做时防止重新下载特定文件夹. (5认同)
  • 只是为了补充这一点.要恢复到Mapped的原始状态但没有get(源代码控制资源管理器中的灰色),请删除斗篷遗留的任何内容,然后取消隐藏.TFS会询问您是否要立即执行get.点击否. (4认同)