如何永久删除 Azure VSTS 项目中的文件夹?

How do you permanently delete a folder inside an Azure VSTS project?

我在 Azures VSTS(一个 TFVC 存储库)和 TFS 中都有我需要永久删除的文件夹。在 TFS 上,在 TFS 为 运行 的服务器上使用命令 window 中的 tf destroy $/<MyProject>/<Folder_To_Delete> 命令很容易完成。 docs.microsoft.com 中描述 "tf destroy" 命令的网页 (https:// docs.microsoft.com/en-us/vsts/tfvc/destroy-command-team-foundation-version-control) 显示此命令也可用于 VSTS 但是我一直无法让命令在我本地机器上的开发人员命令提示符 window 运行 中工作。

tf destroy $/<MyProject>/<Folder_To_Delete> /collection:https://<MyTeamService>.visualstudio.com/<MyProject> /login:<userid>,<password>

我收到的错误是

TF31002:无法连接到此 Team Foundation Server:

Team Foundation Server Url:

失败的可能原因包括:

- Team Foundation Server 的名称、端口号或协议不正确。

- Team Foundation Server 离线。

- 密码已过期或不正确。

技术信息(管理员):

远程服务器返回错误: (404) Not Found.

但是,如果我将 URL 放入浏览器,我的 VSTS 实例就会出现。所以 404 在我看来就像 azure 正在阻止外部在 VSTS 上永久删除的努力。我已经登录到 Azure 门户网站,希望找到类似于 Web App Services 上的高级工具选项的东西,但是团队服务/团队项目没有这样的东西。有人可以向我解释如何在 Azure Team Services 上正确执行 "tf destroy" 命令吗?还是 Azures VSTS 只是缺乏永久删除单个文件夹和文件的支持?

https://<MyTeamService>.visualstudio.com/<MyProject>是错误的URL。它应该只是 https://<MyTeamService>.visualstudio.com/

该参数要求的是项目集合,而不是集合中的团队项目。

永久销毁 VSTS 中的 item/folder 也使用 Destroy Command (Team Foundation Version Control)

tf destroy [/keephistory] <itemspec1>[;<versionspec>][<itemspec2>...<itemspecN>] 
[/stopat:<versionspec>] [/preview] [/startcleanup] [/noprompt] [/silent] [/login:username,[password]] [/collection:TeamProjectCollectionUrl]]

/collection 指定团队项目 collection。但是,在 VSTS 中你只有一个 collection。 url 中没有像 TFS 这样的 collection 名称。以及用户语音下的多个collection:

Let us create multiple collections on Visual Studio Team Services

https://developercommunity.visualstudio.com/idea/365419/let-us-create-multiple-collections-on-visual-studi.html

所以,当你在tf命令行中为VSTS指定/collection时,你只需要输入https://xxx.visualstudio.com

另外注意/login:<userid>,<password>,你格式不对,应该是/login:userid,[password],加个/preview先测试(当tf destroy在预览模式下运行时,文件实际上并没有被销毁。)

最终结果会是

当你移除/preview并执行真正的销毁时,你还会得到一个提示信息:

Do you want to destroy $/Scrum/NugetTest/Capture1025.PNG and all of its children? (Yes/No/All)

Select 删除其中的文件夹和文件,全部 及其所有 children。

tf destroy 命令需要一个集合 URL。在 VSTS 中,没有集合的概念,只有团队项目。所有团队项目都在默认集合下创建。

要在 VSTS 中使用 tf destroy 命令,您的集合 URL 必须采用以下格式: https://账户名.visualstudio.com/DefaultCollection

通过放置 https://accountname.visualstudio.com/Project Name 的集合URL,该命令正在 VSTS 帐户中查找名为 项目名称 的集合,该集合不存在。

此命令有效: 在管理员模式下打开开发人员命令提示符并发出以下命令并提供您的凭据。 tf destroy $/项目名称/要删除的文件夹 /collection:https://accountname.visualstudio .com/DefaultCollection