Все ответы здесь кажутся частичными, которые работают не во всех случаях. Я думаю, что этот ответ будет работать во всех случаях, если у вас есть соответствующие разрешения.
- Откройте командную строку разработчика. В моем случае я проверил это с помощью командной строки разработчика для VS 2019.
- Введите эту команду:
tf workspaces
Обратите внимание, что результаты могут перечислить пару таблиц с идентичной структурой. Если вы видите только одну таблицу, то некоторые предположения в других ответах могут работать на вас. Однако, если вы видите две или более таблиц, то эта строка Collection важна! В наших примерах мы предполагаем, что у вас есть две коллекции (две не отличаются от четырех, кроме одной более утомительна, чем другая, чтобы пройти через нее):
https://dev.azure.com/foo
и https://bar.visualstudio.com/
Если повезет, вы будете знать, с кем из этих двух вы хотите работать. Однако, если вам нужно циклически просмотреть их все, тогда вам нужно будет делать только одну коллекцию за раз. Каждая «Коллекция» здесь такая же, как и «Организация» в DevOps Azure (я думаю).
Если вы не используете эту коллекцию, вы можете увидеть сообщение об ошибке:
Невозможно определить сервер управления источником.
- Затем введите эту команду для коллекции, которую вы хотите использовать:
tf workspaces /computer:* /owner:* /collection:https://dev.azure.com/foo
Это даст вам гораздо более полную картину того, с чем вы имеете дело. Это становится особенно неприятным, если у вас было несколько учетных записей MSA и Org, работающих на этом репо с одного компьютера. На самом деле, у вас может быть несколько, казалось бы, одинаковых записей. Если вы попытаетесь удалить их, основываясь на том, что вы в настоящее время знаете, это может не сработать. Но мы можем получить больше информации.
- Далее мы запустим ту же команду, но добавим
/format:xml
ее в конец:
tf workspaces /computer:* /owner:* /collection:https://dev.azure.com/foo /format:xml
Теперь это дает вам кучу XML с некоторыми дополнительными свойствами. Больше всего нас интересуют псевдонимы владельца. Это недостающая информация, которую вам необходимо пройти и удалить эти рабочие пространства. Без этой дополнительной информации легко ударить в стену и застрять с сообщением об ошибке:
Укажите одно рабочее пространство.
Теперь у нас есть вся необходимая информация. Учитывая дополнительные OwernAliases
записи, выберите уникальную запись (или повторите, если их несколько), которую вы хотите удалить, и используйте следующую команду (приведено несколько примеров):
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"
GUID идентифицирует каталог AAD, а кавычки предназначены для обработки любых пробелов, которые могут быть в псевдониме. «MyWorkspaceName» происходит из ваших предыдущих запросов со списком рабочих пространств.
Без этого очень тщательного подхода, возможно, что все остальные ответы в этом вопросе потерпят неудачу для вас. Хотя некоторые из этих усилий будут очищать локальные рабочие области, они не будут очищать рабочие области сервера, с которыми вы все еще можете конфликтовать. Кроме того, если вы ранее использовали другую учетную запись, это может стать проблематичным, например, если вы перешли с MSA на учетную запись AAD. И все становится действительно волосатым, если у вас есть учетная запись MSA инесколько учетных записей AAD с одним и тем же адресом электронной почты, который вы использовали на одной рабочей станции. И тогда это становится очень сумасшедшим, если несколько из них использовали имя по умолчанию для рабочей области: имя хоста вашего компьютера. В моем случае у меня было четыре рабочих пространства, все с одинаковым именем рабочего пространства, именем владельца и именем компьютера (т.е. первый запрос без форматирования XML содержал 4 одинаковые записи!).
Я не знаю, есть ли более графический способ управления этим, чем этот. Я посмотрел и еще не нашел лучшего способа, чем этот.
D:\jenkins\jobs\ProjectName1-Build\workspace
качестве другого пользователя TFS во время тестирования?