Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Используйте команду tf destroy
для уничтожения или окончательного удаления управляемых версий файлов из Team Foundation Version Control (TFVC).
Заметка
Удаление репозитория TFVC в Azure Devops не допускается после его создания. Команда tf destroy
будет уничтожать только файлы или папки, управляемые версией, или окончательно удалять, но не будут удалять репозиторий TFVC. Он по-прежнему появится в списке параметров с удаленным сообщением.
Иногда необходимо очистить системы управления версиями. Например, если некоторые файлы заражены вирусом компьютера, их необходимо удалить безвозвратно из системы управления версиями. Не уничтожайте файлы, которые по-прежнему необходимы. Действие уничтожения не может быть отменено.
Прежде чем запускать tf destroy
без параметра /keephistory
, сначала удалите файлы, которые нужно уничтожить. Дополнительные сведения см. в статье Удаление файлов и папок из элемента управления версиями.
После удаления файлов можно синхронизировать хранилище TFVC. В противном случае хранилище не будет синхронизировано с уничтоженными элементами.
Необходимые условия
Чтобы использовать команду destroy
, перейдите к группе безопасности администратор ов Team Foundation. Дополнительные сведения см. в разделе разрешения TFVC по умолчанию.
Синтаксис
tf destroy [/keephistory] <itemspec1>[;<versionspec>][<itemspec2>...<itemspecN>]
[/stopat:<versionspec>] [/preview] [/startcleanup] [/noprompt] [/silent] [/login:username,[password]] [/collection:TeamProjectCollectionUrl]]
Параметры
Аргументы
аргумент
описание
<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
.
Параметры
параметра
описание
/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. Если вы не член, система отображает диалоговое окно с сообщением об ошибке, которое сообщает, что у вас нет достаточных разрешений для выполнения операции.
После проверки разрешений система запускает команду 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:
Изменение содержимого. Если вы пытаетесь изменить содержимое уничтоженного файла, например изменить или ветвь, система выдает сообщение об ошибке, которое указывает, что содержимое было уничтожено.
Branch, merge или unshelve. Если вы пытаетесь ветвить, объединить или отменить уничтоженные элементы, система выдает сообщение об ошибке, которое указывает, что содержимое элементов было уничтожено.
Удаление ранее удаленных элементов
Если элемент уже удален, идентификатор удаления присоединяется к нему и приводит к изменению имени файла.
Последствия уничтожения 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
является идентификатором удаления.
Связанные статьи
- Уничтожение управляемых версий файлов
- Операции доступны только из командной строки tf