Команда "Уничтожить" (система управления версиями Team Foundation)
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
tf destroy
Используйте команду для уничтожения или окончательного удаления управляемых версией файлов из система управления версиями Team Foundation (TFVC).
Примечание.
Удаление репозитория TFVC в Azure Devops не допускается после его создания. Команда tf destroy
будет уничтожать только файлы или папки, управляемые версией, или окончательно удалять, но не будут удалять репозиторий TFVC. Он по-прежнему появится в списке параметров с удаленным сообщением.
Иногда необходимо очистить системы управления версиями. Например, если некоторые файлы заражены вирусом компьютера, их необходимо удалить безвозвратно из системы управления версиями. Не уничтожайте файлы, которые по-прежнему необходимы. Действие уничтожения не может быть отменено.
Перед запуском tf destroy
/keephistory
без параметра сначала удалите файлы, которые нужно уничтожить. Дополнительные сведения см. в разделе "Удаление файлов и папок" из элемента управления версиями.
После удаления файлов можно синхронизировать хранилище TFVC. В противном случае хранилище не будет синхронизировано с уничтоженными элементами.
Необходимые компоненты
Чтобы использовать destroy
команду, необходимо принадлежать группе безопасности Team Foundation Администратор istrator. Дополнительные сведения см. в разделе "Разрешения TFVC по умолчанию".
Синтаксис
tf destroy [/keephistory] <itemspec1>[;<versionspec>][<itemspec2>...<itemspecN>]
[/stopat:<versionspec>] [/preview] [/startcleanup] [/noprompt] [/silent] [/login:username,[password]] [/collection:TeamProjectCollectionUrl]]
Параметры
Аргументы
Argument
Description
<itemspec1> [<itemspec2>...<itemspecN>]
Указывает путь сервера к уничтожению файла или папки. Используйте несколько значений для удаления нескольких itemspec
элементов. Например, tf destroy $/TeamProject1 $/teamProject2 $/TeamProject3
.
Локальные пути не поддерживаются.
<versionspec>
Предоставляет версию, C58
например для /keephistory
параметров или /stopat
вариантов. Допустимые значения : date
tip
или определенный набор изменений. Дополнительные сведения о том, как TFVC анализирует спецификацию версии, чтобы определить, какие элементы находятся в область, см. в разделе "Использование команд управления версиями Team Foundation".
<username>
Предоставляет значение /login
для параметра. Можно указать username
значение как DOMAIN\username
или username
.
TeamProjectCollectionUrl
URL-адрес коллекции проектов, содержащей файлы, которые необходимо уничтожить, например http://myserver:8080/tfs/DefaultCollection
.
Параметры
Параметр
Description
/keephistory
Необязательно. Указывает, что журнал файла сохраняется даже при уничтожении его содержимого. Этот параметр нельзя указать с параметром /preview
.
/stopat
Необязательно. Можно использовать только в том случае, если /keephistory
он также указан.
Указывает версию файла и файлы, которые следуют после этого, для которого сохраняется журнал.
Версия по умолчанию /stopat
— tip
(T) для последней версии элемента проверка.
Нельзя использовать значения меток или рабочей области versionspec
для указания элемента для /stopat
параметра.
/preview
Отображает файлы, которые будут уничтожены в окне командной строки. При tf destroy
выполнении в режиме предварительной версии файлы фактически не уничтожаются.
Примечание.
Текст в окне командной строки отображает слово "Уничтожено " с каждым файлом, который будет уничтожен. Однако файл фактически не уничтожается при /preview
использовании параметра.
/startcleanup
Принудительно запускает процесс очистки метаданных TFVC сразу после завершения удаления. Если пользователь не указывает /startcleanup
, процесс очистки уничтоженных метаданных происходит, когда обслуживание базы данных очищает все файлы, на которые больше не ссылается Azure DevOps Server. По умолчанию очистка планируется выполнять каждые пять дней. Через семь дней после очистки метаданных TFVC содержимое удаляется другим процессом очистки. По умолчанию этот процесс очистки содержимого выполняется один раз в день.
/noprompt
или /i
Указывает, что уничтожение файлов неинтерактивно. /i
является псевдонимом для /noprompt
.
/silent
Указывает, что при уничтожении файлов или папок выходные данные не записываются в окно командной строки.
/login
Указывает имя пользователя и пароль для проверки подлинности пользователя с помощью TFVC.
/collection
Указывает коллекцию проектов.
Замечания
tf destroy
При уничтожении файлов управления версиями уровень приложений TFVC получает запрос на уничтожение и проверка, чтобы узнать, является ли вы членом группы безопасности Team Foundation Администратор istrator. Если вы не член, система отображает диалоговое окно с сообщением об ошибке, которое сообщает, что у вас нет достаточных разрешений для выполнения операции.
После проверки разрешений система запускает команду destroy. Эта команда удаляет все ссылки на файлы, наборы полок и ожидающие изменения. Фактическое уничтожение файлов, которое является постоянным удалением, происходит при следующем удалении содержимого, на которое больше не ссылается Azure DevOps Server. Вы также можете указать /startcleanup
параметр очистки файлов сразу после tf destroy
выполнения.
При выполнении tf destroy
/i
без указания и /preview
в системе отображается запрос "Да" или "Нет" для каждого filespec
значения. В противном случае можно указать "Да" для всех.
Если вы не укажете
/keephistory
, вам будет предложено интерактивный текст, предупреждающий о ожидающих изменениях, если они существуют. Интерактивный текстовый текст указывает/preview
, если требуется дополнительная информация об изменениях.При указании
/keephistory
вам также предлагается запрос "Да", "Нет" или "Да" для всего текста. Если выбрать "Да" или "Да" для всех, процесс уничтожения запускается, а пути сервера к уничтоженным элементам отображаются в окне командной строки.
Destroyed: <serverItem1>
Destroyed: <serverItem2>
Destroyed: ...
Если вы указали versionspec
значение как tip
, пути к серверу, отображаемые в окне командной строки, включают идентификаторы удаления. Например, Destroyed: $/Test1/MyProject;X123
может появиться в окне командной строки.
Если вы используете /preview
этот параметр, файлы не уничтожаются, но текст командной строки отображает файлы, которые будут уничтожены. Например, при вводе tf destroy /preview $/Test1/MyProject/MyProject/Program.cs
в командной строке в командной строке в командном окне отображается следующий текст:
Destroyed: $/Test1/MyProject/MyProject/Program.cs
Однако файл фактически не уничтожается, так как вы использовали /preview
этот параметр.
Дополнительные сведения об использовании служебной tf
программы командной строки см. в разделе "Использование команд управления версиями Team Foundation".
Влияние /keephistory на другие операции управления версиями
Если указать /keephistory
параметр сохранения журнала уничтоженных файлов, файлы обрабатываются как уничтоженные с помощью следующих операций TFVC:
Изменение содержимого. Если вы пытаетесь изменить содержимое уничтоженного файла, например изменить или ветвь, система выдает сообщение об ошибке, которое указывает, что содержимое было уничтожено.
Ветвь, слияние или распыление. Если вы пытаетесь ветвить, объединить или отменить уничтоженные элементы, система выдает сообщение об ошибке, которое указывает, что содержимое элементов было уничтожено.
Удаление ранее удаленных элементов
Если элемент уже удален, идентификатор удаления присоединяется к нему и приводит к изменению имени файла.
Последствия уничтожения tf в поиске кода репозитория TFVC
Поиск кода не обрабатывает tf destroy
уведомления, поэтому использование tf destroy
репозиториев TFVC не будет автоматически удалять файлы из индекса поиска. В результате эти файлы отображаются в результатах поиска кода. Чтобы избежать этих сценариев фантомных файлов, удалите файлы перед операцией tf destroy
.
Примеры
Следующий пример окончательно удаляет файл a.cs.
tf destroy $/proj/pi/a.cs
В следующем примере удаляется папка aFolder:
tf delete $/MyTeamProject/aFolder
Чтобы уничтожить удаленный элемент aFolder, введите в командной строке:
tf destroy $/MyTeamProject/aFolder;x123
где x123
идентификатор удаления.