Comando Destroy (Controle de Versão do Team Foundation)
Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Use o tf destroy
comando para destruir ou excluir permanentemente arquivos com controle de versão do Controle de Versão do Team Foundation (TFVC).
Nota
A exclusão de um repositório TFVC dentro do Azure Devops não é permitida depois que ele for criado. O comando tf destroy
apenas destruirá, ou excluirá permanentemente, arquivos ou pastas com controle de versão, mas não excluirá o repositório TFVC. Ele ainda aparecerá na lista de opções com a mensagem excluída.
Às vezes você tem que limpar sistemas de controle de versão. Por exemplo, se alguns ficheiros estiverem infetados com um vírus de computador, terá de removê-los permanentemente do controlo de versão. Não destrua os ficheiros que ainda são necessários. A ação de destruição não pode ser revertida.
Antes de executar tf destroy
sem a /keephistory
opção, primeiro exclua os arquivos que deseja destruir. Para obter mais informações, consulte Excluir arquivos e pastas do controle de versão.
Depois de excluir os arquivos, você pode sincronizar o depósito TFVC. Caso contrário, o depósito não será sincronizado com os itens destruídos.
Pré-requisitos
Para usar o destroy
comando, você deve pertencer ao grupo de segurança Administradores do Team Foundation. Para obter mais informações, consulte Permissões TFVC padrão.
Sintaxe
tf destroy [/keephistory] <itemspec1>[;<versionspec>][<itemspec2>...<itemspecN>]
[/stopat:<versionspec>] [/preview] [/startcleanup] [/noprompt] [/silent] [/login:username,[password]] [/collection:TeamProjectCollectionUrl]]
Parâmetros
Argumentos
Argumento
Descrição
<itemspec1> [<itemspec2>...<itemspecN>]
Especifica o caminho do servidor do arquivo ou pasta a ser destruído. Use vários itemspec
valores para excluir vários itens. Por exemplo, tf destroy $/TeamProject1 $/teamProject2 $/TeamProject3
.
Os caminhos locais não são suportados.
<versionspec>
Fornece uma versão como C58
para as /keephistory
opções ou /stopat
. Os valores permitidos são date
, tip
, ou um conjunto de alterações específico. Para obter mais informações sobre como o TFVC analisa uma especificação de versão para determinar quais itens estão dentro de seu escopo, consulte Usar comandos de controle de versão do Team Foundation.
<username>
Fornece um valor para a /login
opção. Você pode especificar um username
valor como um ou username
DOMAIN\username
.
TeamProjectCollectionUrl
A URL da coleção de projetos que contém arquivos que você deseja destruir, por exemplo, http://myserver:8080/tfs/DefaultCollection
.
Opções
Opção
Descrição
/keephistory
Opcional. Especifica que o histórico de um arquivo é preservado mesmo quando seu conteúdo é destruído. Esta opção não pode ser especificada com a /preview
opção.
/stopat
Opcional. Só pode ser usado se /keephistory
for especificado também.
Especifica a versão do arquivo e os arquivos que se seguem posteriormente, para os quais o histórico é preservado.
A versão padrão para /stopat
é tip
(T) para a versão de check-in mais recente de um item.
Não é possível usar valores de rótulo ou espaço de trabalho versionspec
para especificar um item para a /stopat
opção.
/preview
Exibe os arquivos que seriam destruídos na janela do prompt de comando. Quando tf destroy
executado no modo de visualização, os arquivos não são realmente destruídos.
Nota
O texto na janela do prompt de comando exibe a palavra Destruído com cada arquivo que seria destruído. No entanto, o arquivo não é realmente destruído quando a /preview
opção é usada.
/startcleanup
Força o processo de limpeza de metadados TFVC a iniciar imediatamente após a conclusão da exclusão. Se o usuário não especificar /startcleanup
, o processo de limpeza de metadados destruído ocorrerá quando a manutenção do banco de dados limpar todos os arquivos que não são mais referenciados pelo Servidor de DevOps do Azure. Por padrão, a limpeza está programada para ser executada a cada cinco dias. Sete dias após a limpeza dos metadados do TFVC, o conteúdo é excluído por outro processo de limpeza. Por padrão, esse processo de limpeza de conteúdo é executado uma vez por dia.
/noprompt
ou /i
Especifica que a destruição de arquivos não é interativa. /i
é um alias para /noprompt
.
/silent
Especifica que, quando você destrói arquivos ou pastas, a saída não é gravada na janela do prompt de comando.
/login
Especifica o nome de usuário e a senha para autenticar o usuário com TFVC.
/collection
Especifica a coleção de projetos.
Observações
Quando você usa tf destroy
para destruir arquivos de controle de versão, a camada de aplicativo do TFVC recebe a solicitação de destruição e verifica se você é um membro do grupo de segurança Administradores do Team Foundation. Se você não for um membro, o sistema exibirá uma caixa de diálogo de mensagem de erro informando que você não tem permissões suficientes para executar a operação.
Depois que o sistema verifica suas permissões, ele executa o comando destruir. Este comando exclui todas as referências de arquivo, prateleiras e alterações pendentes. A destruição real de arquivos, que é uma exclusão permanente, acontece na próxima vez que o conteúdo que não é mais referenciado pelo Azure DevOps Server é limpo. Você também pode especificar a /startcleanup
opção para limpar os arquivos imediatamente após tf destroy
as execuções.
Se você executar tf destroy
sem especificar /i
e /preview
, o sistema exibirá um prompt de console Sim ou Não para cada filespec
valor. Caso contrário, você pode especificar Sim para todos.
Se você não especificar
/keephistory
o , será solicitado por um texto interativo que avisa sobre alterações pendentes, se elas existirem. O texto interativo aponta para/preview
se você quiser mais informações sobre as alterações.Se você especificar
/keephistory
, também será solicitado pelo texto Sim, Não ou Sim para Todos. Se você selecionar Sim ou Sim para Todos, o processo de destruição será iniciado e os caminhos do servidor para os itens destruídos aparecerão na janela do prompt de comando.
Destroyed: <serverItem1>
Destroyed: <serverItem2>
Destroyed: ...
Se você especificou o versionspec
valor como tip
, os caminhos do servidor exibidos na janela do prompt de comando incluem IDs de exclusão. Por exemplo, Destroyed: $/Test1/MyProject;X123
pode aparecer na janela do prompt de comando.
Se você usar a /preview
opção, os arquivos não serão destruídos, mas o texto da linha de comando exibirá os arquivos que seriam destruídos. Por exemplo, se você digitar tf destroy /preview $/Test1/MyProject/MyProject/Program.cs
na linha de comando, a janela de comando exibirá este texto:
Destroyed: $/Test1/MyProject/MyProject/Program.cs
No entanto, o arquivo não é realmente destruído porque você usou a /preview
opção.
Para obter mais informações sobre como usar o utilitário de linha de tf
comando, consulte Usar comandos de controle de versão do Team Foundation.
Efeitos de /keephistory em outras operações de controle de versão
Se você especificar a /keephistory
opção para manter o histórico de arquivos destruídos, os arquivos serão tratados como destruídos pelas seguintes operações TFVC:
Alterar conteúdo. Se você tentar alterar o conteúdo de um arquivo destruído, por exemplo, editar ou ramificar, o sistema emitirá uma mensagem de erro informando que o conteúdo foi destruído.
Ramificação, fusão ou desarquivamento. Se você tentar ramificar, mesclar ou desarquivar itens destruídos, o sistema emitirá uma mensagem de erro informando que o conteúdo dos itens foi destruído.
Destruir itens excluídos anteriormente
Se um item já tiver sido excluído, uma ID de exclusão será anexada a ele e resultará em uma alteração de nome de arquivo.
Efeitos da destruição de tf na pesquisa de código de repositório TFVC
A pesquisa de código não lida com tf destroy
notificações, portanto, usar tf destroy
para repositórios TFVC não excluirá automaticamente arquivos do índice de pesquisa. Como resultado, esses arquivos aparecem nos resultados da pesquisa de código. Para evitar esses cenários de arquivos fantasmas, exclua os arquivos antes da tf destroy
operação.
Exemplos
O exemplo a seguir exclui permanentemente o arquivo a.cs.
tf destroy $/proj/pi/a.cs
O exemplo a seguir exclui uma pasta, aFolder:
tf delete $/MyTeamProject/aFolder
Para destruir o item excluído aFolder, digite na linha de comando:
tf destroy $/MyTeamProject/aFolder;x123
onde x123
é o ID de exclusão.