【问题标题】:Delete Local Folder in TFS删除 TFS 中的本地文件夹
【发布时间】:2013-11-16 02:21:45
【问题描述】:

我是一个从 TFS 映射的大型项目的一部分,在该项目中有一个我已经完成的文件夹。我不再想要那个文件夹,所以我想删除我的本地副本。问题是 TFS 想要镜像更改并从源代码管理中删除文件夹,我不想将其从 TFS 中删除。

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

反正我可以在本地删除那个文件夹吗?

【问题讨论】:

  • 您能否提供更多信息,例如您使用的是哪个版本的 TFS 以及哪个版本的 Visual Studio?您使用的是服务器还是本地工作空间?
  • @JamesReed VS2008 带有兼容性补丁,VS2010 和 VS2012。 TFS 2012. 本地工作区(每个 Visual Studio 版本的独立工作区)

标签: tfs


【解决方案1】:

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

如果你有一个本地副本,你想像这样取消获取或取消下载:

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

这就是为什么来自Martin Woodward's TFS Top Tips

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

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

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

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

【讨论】:

  • 伪装效果相当好,但我用这种方法取得了更大的成功,而且更简单。
  • 我更喜欢这种方法。这不需要我在将来可能再次需要该项目时记住“隐藏”和“激活”。我可以得到最新版本,我很高兴。
  • 看起来不错。为什么 MS 不构建直观的 UI?就像简单的命令“删除本地副本”和我最喜欢的“高级 > 获取特定版本”。从什么时候开始“获取特定版本”是高级的东西?如果这对他们来说是高级的,他们必须在内部拥有超级愚蠢的开发人员。不管怎样,谢谢你的回答(我受不了 TFS [svn/git user here])
  • 如果你已经删除了本地文件夹并试图清理你造成的混乱,这也可以工作。
  • 命令行等效项:tf vc get /version:c1 /recursive /overwrite /force
【解决方案2】:

您可以cloak本地工作区中的文件夹。

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

【讨论】:

  • 只是添加到这个。要恢复 Mapped 的原始状态但没有获取(源代码管理资源管理器中的灰色),请删除从斗篷中剩余的任何内容,然后再解锁。 TFS 将询问您是否要立即执行获取。点击编号。
  • 我选择隐藏而不是卸载。我习惯于在顶层执行“获取最新”,并且在执行此操作时隐藏可防止重新下载特定文件夹。
  • 这行得通!接受的答案对我不起作用(因为我正在删除一个分支并且它的第一个变更集不是 1)。谢谢!
猜你喜欢
  • 1970-01-01
  • 2011-02-08
  • 1970-01-01
  • 2023-03-21
  • 2016-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-01
相关资源
最近更新 更多