删除 TFS 中的本地文件夹
Posted
技术标签:
【中文标题】删除 TFS 中的本地文件夹【英文标题】:Delete Local Folder in TFS 【发布时间】:2013-11-16 02:21:45 【问题描述】:我是一个从 TFS 映射的大型项目的一部分,在该项目中有一个我已经完成的文件夹。我不再想要那个文件夹,所以我想删除我的本地副本。问题是 TFS 想要镜像更改并从源代码管理中删除文件夹,我不想将其从 TFS 中删除。
我能找到的唯一方法是取消映射工作区,然后遍历并获取我需要处理的所有其他文件夹。
反正我可以在本地删除那个文件夹吗?
【问题讨论】:
您能否提供更多信息,例如您使用的是哪个版本的 TFS 以及哪个版本的 Visual Studio?您使用的是服务器还是本地工作空间? @JamesReed VS2008 带有兼容性补丁,VS2010 和 VS2012。 TFS 2012. 本地工作区(每个 Visual Studio 版本的独立工作区) 【参考方案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您可以cloak本地工作区中的文件夹。
通过将工作文件夹状态设置为 Cloaked,您可以指定本地文件夹在执行 Get 操作时不应从服务器复制文件。您可以选择这样做以节省本地磁盘上的空间。如果您稍后决定需要获取这些隐藏文件夹中的文件,则必须将状态更改为 Active,然后执行 Get 操作。
【讨论】:
只是添加到这个。要恢复 Mapped 的原始状态但没有获取(源代码管理资源管理器中的灰色),请删除从斗篷中剩余的任何内容,然后再解锁。 TFS 将询问您是否要立即执行获取。点击编号。 我选择隐藏而不是卸载。我习惯于在顶层执行“获取最新”,并且在执行此操作时隐藏可防止重新下载特定文件夹。 这行得通!接受的答案对我不起作用(因为我正在删除一个分支并且它的第一个变更集不是 1)。谢谢!以上是关于删除 TFS 中的本地文件夹的主要内容,如果未能解决你的问题,请参考以下文章
是否可以禁用/控制 TFS 用户(本地)在 TFS 项目下创建新文件夹?