Поделиться через


Команда "Уничтожить" (система управления версиями 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 вариантов. Допустимые значения : datetipили определенный набор изменений. Дополнительные сведения о том, как TFVC анализирует спецификацию версии, чтобы определить, какие элементы находятся в область, см. в разделе "Использование команд управления версиями Team Foundation".

<username>

Предоставляет значение /login для параметра. Можно указать username значение как DOMAIN\username или username.

TeamProjectCollectionUrl

URL-адрес коллекции проектов, содержащей файлы, которые необходимо уничтожить, например http://myserver:8080/tfs/DefaultCollection.

Параметры

Параметр

Description

/keephistory

Необязательно. Указывает, что журнал файла сохраняется даже при уничтожении его содержимого. Этот параметр нельзя указать с параметром /preview .

/stopat

Необязательно. Можно использовать только в том случае, если /keephistory он также указан.

Указывает версию файла и файлы, которые следуют после этого, для которого сохраняется журнал.

Версия по умолчанию /stopattip (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 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 идентификатор удаления.