【发布时间】:2013-11-15 15:05:38
【问题描述】:
我遵循 Team Foundation Server 的推荐指南,将源代码管理树的根映射到本地文件夹。但是,我不想映射该根目录下的每个文件夹。我可以一次隐藏一个文件夹,但更愿意同时隐藏多个文件夹。有没有办法轻松做到这一点?
【问题讨论】:
标签: version-control tfs directory cloaking
我遵循 Team Foundation Server 的推荐指南,将源代码管理树的根映射到本地文件夹。但是,我不想映射该根目录下的每个文件夹。我可以一次隐藏一个文件夹,但更愿意同时隐藏多个文件夹。有没有办法轻松做到这一点?
【问题讨论】:
标签: version-control tfs directory cloaking
我在 PowerShell 中找到了另一种方法。切换到您希望隐藏文件的映射目录并输入以下命令:
Get-ChildItem | where {$_.PsIsContainer} | ForEach-Object { Write-Host $_.Name ; tf workfold /cloak $_.Name }
这将隐藏当前文件夹级别的每个目录。如果您希望排除某些目录在此级别被隐藏,请添加 -Exclude 参数:
Get-ChildItem -Exclude <foldernames> | where {$_.PsIsContainer} | ForEach-Object { Write-Host $_.Name ; tf workfold /cloak $_.Name }
其中<foldernames> 可以是一个或多个以逗号分隔的文件夹。最好每个文件夹名称都可以嵌入双引号中(例如,允许空格)。
此外,如果 tf 命令不起作用,您可以在此之前使用 Set-Alias,如此答案中所述:powershell tf command not recognized as the name of a cmlet
【讨论】:
在编辑Workspaces dialog box 中,在Working folders 列表中,我建议将每个文件夹的设置从Active to Cloaked 更改。
链接:http://msdn.microsoft.com/en-us/library/ms181378(v=vs.110).aspx
基于此链接:http://msdn.microsoft.com/en-us/library/ms181378%28VS.80%29.aspx
【讨论】:
我知道这是一篇较旧的帖子,但对于现在(就像我一样)或将来偶然发现它的任何人......
您也可以考虑this answer 中描述的方法。根据我的经验,比隐身更快。
简单地说,您使用获取特定版本功能;具体来说,您为本地不想要的任何文件夹获取版本 1。 (版本 1 仅包含存储库根 $/,因此获取任何文件夹的该版本将删除本地副本。有关详细信息,请参阅链接答案。)
【讨论】: