Wszystkie odpowiedzi tutaj wydają się być odpowiedziami częściowymi, które nie działają we wszystkich przypadkach. Myślę, że ta odpowiedź zadziała we wszystkich przypadkach, zakładając, że masz odpowiednie uprawnienia.
- Otwórz wiersz polecenia dewelopera. W moim przypadku przetestowałem to za pomocą wiersza polecenia dewelopera dla VS 2019.
- Wpisz to polecenie:
tf workspaces
Zwróć uwagę, że wyniki mogą zawierać listę kilku tabel o identycznej strukturze. Jeśli widzisz tylko jedną tabelę, niektóre założenia w innych odpowiedziach mogą Ci pomóc. Jeśli jednak widzisz dwie lub więcej tabel, ten ciąg kolekcji jest ważny! W naszych przykładach zakładamy, że masz dwie Kolekcje (dwie nie różnią się od czterech, a jedna jest bardziej żmudna niż druga):
https://dev.azure.com/foo
i https://bar.visualstudio.com/
Przy odrobinie szczęścia będziesz wiedział, z którym z tych dwóch chcesz pracować. Jeśli jednak musisz przejrzeć je wszystkie, musisz po prostu zrobić tę jedną kolekcję na raz. Każda „kolekcja” jest tym samym, co „Organizacja” w usłudze Azure DevOps (tak mi się wydaje).
Jeśli nie użyjesz tego szczegółu kolekcji, może zostać wyświetlony komunikat o błędzie:
Nie można określić serwera kontroli źródła.
- Następnie wpisz to polecenie dla kolekcji, której chcesz użyć:
tf workspaces /computer:* /owner:* /collection:https://dev.azure.com/foo
To da ci dużo pełniejszy obraz tego, z czym masz do czynienia. Jest to szczególnie nieprzyjemne, jeśli masz wiele kont MSA i organizacji, które trafiają do tego repozytorium z tego samego komputera. W rzeczywistości możesz mieć wiele pozornie identycznych wpisów. Jeśli spróbujesz je usunąć na podstawie tego, co obecnie wiesz, może to nie zadziałać. Ale możemy uzyskać więcej informacji.
- Następnie uruchomimy to samo polecenie, ale dodamy
/format:xml
je na końcu:
tf workspaces /computer:* /owner:* /collection:https://dev.azure.com/foo /format:xml
To daje teraz trochę XML z kilkoma dodatkowymi właściwościami. Te, na których prawdopodobnie najbardziej nam zależy, to aliasy właścicieli. To są brakujące informacje, które musisz teraz przejrzeć i usunąć te obszary robocze. Bez tych dodatkowych informacji łatwo jest uderzyć w ścianę i utknąć z komunikatem o błędzie:
Określ jeden obszar roboczy.
Teraz mamy wszystkie potrzebne informacje. Biorąc pod uwagę dodatkowe OwernAliases
wpisy, wybierz unikatowy wpis (lub powtórz, jeśli więcej niż jeden), który chcesz usunąć i użyj następującego polecenia (podano kilka przykładów):
tf workspace /delete /collection:https://dev.azure.com/foo
"MyWorkspaceName;Windows Live ID\John.Doe@hotmail.com"
tf workspace /delete /collection:https://dev.azure.com/foo
"MyWorkspaceName;John Doe"
tf workspace
/delete /collection https://dev.azure.com/foo
"MyWorkspaceName;2C3E8474-A39C-4785-8794-DC72F09981E6\John.Doe@Example.com"
Identyfikator GUID identyfikuje katalog usługi AAD, a cudzysłowy służą do obsługi wszelkich spacji, które mogą znajdować się w aliasie. Nazwa „MyWorkspaceName” pochodzi z poprzednich zapytań dotyczących obszarów roboczych.
Bez tego bardzo dokładnego podejścia możliwe jest, że wszystkie inne odpowiedzi na to pytanie zawiodą. Chociaż niektóre z tych wysiłków spowodują wyczyszczenie lokalnych obszarów roboczych, nie wyczyszczą obszarów roboczych serwera, z którymi nadal możesz konfliktować. Ponadto, jeśli wcześniej korzystałeś z innego konta, sytuacja może się skomplikować, na przykład po przełączeniu z konta MSA na konto AAD. I robi się NAPRAWDĘ owłosione, jeśli masz konto MSA iwiele kont AAD, wszystkie z tym samym adresem e-mail, którego używałeś z tej samej stacji roboczej. A potem robi się super szalenie owłosione, jeśli wiele z nich używa domyślnej nazwy obszaru roboczego: nazwy hosta twojego komputera. W moim przypadku miałem cztery obszary robocze z taką samą nazwą obszaru roboczego, nazwą właściciela i nazwą komputera (tj. Pierwsze zapytanie bez formatowania XML miało 4 identyczne rekordy!).
Nie wiem, czy istnieje bardziej graficzny sposób zarządzania nimi niż ten. Szukałem i nie znalazłem jeszcze lepszego sposobu niż to.
D:\jenkins\jobs\ProjectName1-Build\workspace
podczas testowania skonfigurowano obszar roboczy TFS, który zawiera jako innego użytkownika TFS?