簡體   English   中英

Azure Devops - 刪除工作區

[英]Azure Devops - Deleting Workspace

使用VS 2019 的開發人員命令提示符

我能夠看到我所有工作區的列表。

tf workspaces /collection:"https://dev.azure.com/[ORGANIZATION]" /owner:*

然后我可以使用以下方法刪除我的本地工作區:

tf workspace /delete [WORKSPACE];"[OWNER]"

如果我啟動 Visual Studio 然后重新運行第一個命令,工作區將返回.

如果我從 VS UI 中刪除工作區,也會發生同樣的事情。 一旦我單擊map & get創建一個剛刪除的同名新工作區,它就會重新出現。


筆記

在重新啟動 Visual Studio 之前,我還嘗試過:

  1. 在此處清除緩存文件夾: C:\\Users\\[NAME]\\AppData\\Local\\Microsoft\\Team Foundation\\8.0\\Cache
  2. 在此處刪除我所有的本地工作區文件: C:\\Users\\[NAME]\\source\\Workspaces

編輯

經過一些測試,我認為問題可能與同名的舊工作區有關。 我無法刪除舊的工作區,因為當我嘗試刪除舊的非本地數據庫時,我收到:

錯誤:

工作區 [WORKSPACE];[OWNER] 不存在。

我現在相信舊工作區是我從舊 TFS 遷移到 Azure 時的痕跡。


問題

  1. 如何刪除所有工作區?
  2. 是否可以從 Azure Dev Ops 門戶中刪除工作區?
  3. 如何刪除非本地工作區?

要刪除現有工作區,您必須是所有者或將全局管理工作區權限設置為允許。

您也可以嘗試使用 onwer uniq ID 而不是 name

tf vc workspaces ws_3_3 /computer:* /format:xml /collection:https://dev.azure.com/patricklu/

ws_3_3是您要刪除的工作區名稱,collection 只需輸入您的collection url 在提示窗口中輸入您的地址以連接到url(如果有)。

在此之后,它將返回一些信息,如下所示:

在此處輸入圖片說明

帶有所有者 uniq ID 的信息

然后你只需要使用 tf workspace /delete 命令,在我的示例中它使用:

tf workspace /delete ws_3_3;fb46f066-9122-4342-94c4-93b7526a3545

在此處輸入圖片說明

只需鍵入 yes,它將刪除工作區。 “無法確定源控制服務器” 這可能是由於您在嘗試刪除非本地工作區時未包含集合 url 造成的。

1. 如何刪除所有工作區?

公司里沒有刪除所有工作區的命令,你必須一一執行。

2. 是否可以從 Azure Dev Ops 門戶中刪除工作區?

不,你不能這樣做。 您應該使用命令行或通過 Visual Studio UI 如下所示:

在此處輸入圖片說明 希望這可以幫助。

我最近在刪除工作區時遇到了一些問題,因為擁有工作區的用戶已經離開,因此驗證無法識別他們的帳戶。

這篇文章向我介紹了tf workspaces命令的 XML 輸出; 使我能夠獲取用戶的基礎 id 並使用它刪除工作區。

這是我用來刪除用戶所有工作區的 PowerShell 包裝器:

Set-Alias -Name 'tf' -Value 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\TF.exe' # amend path so it points to your tf.exe file

# fetch a list of all workspaces and store them in an xml variable
$x = [xml](tf workspaces /computer:* /owner:* /format:xml)

# determine who we want to delete (this is used in our filter later; to delete all, just skip the filter
$userToDelete = 'Someone@example.com'

# for each workspace 
# take those where the owner's display name matches our target user
# then delete that workspace (I've left prompts enabled, so you can manually validate things; add /noprompt to avoid that
$x.Workspaces.Workspace | ?{$_.ownerdisp -eq $userToDelete} | %{tf vc workspace /delete "$($_.name);$($_.owner)"}

有關MS Docs 中可用選項的更多信息; 所以您可以根據您的確切要求調整上述內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM