Comando Shelve (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

O comando Team Foundation Version Control (TFVC) shelve armazena um conjunto de alterações pendentes, juntamente com notas de check-in pendentes, um comentário e uma lista de itens de trabalho associados em um servidor de DevOps do Azure sem realmente fazer check-in.

Pré-requisitos

Se quiser usar o shelve comando para excluir um conjunto de prateleiras, você deve ser um proprietário de um conjunto de prateleiras, ou sua permissão Administrar alterações arquivadas deve ser definida como Permitir. Para obter mais informações, consulte Permissões TFVC padrão.

Sintaxe

tf shelve  [/replace] [/comment:("comment"|@commentfile)] [shelvesetname] [/validate][/noprompt] [/login:username,[password]]
tf shelve [/move] [/replace] [/comment:("comment"|@commentfile)] 
[/recursive] [shelvesetname] itemspec [/validate] [/noprompt] [/login:username,[password]]
tf shelve /delete shelvesetname[;owner] [/login:username,[password]] [/collection:TeamProjectCollectionUrl]

Parâmetros

Argumentos

Argumento Descrição
<commentfile> Especifica um caminho do sistema de arquivos de um arquivo a partir do qual os comentários para o conjunto de prateleiras devem ser lidos.
<comment> Especifica o comentário para o conjunto de prateleiras.
<itemspec> Identifica os arquivos ou pastas a serem arquivados. Por padrão, todas as alterações pendentes no espaço de trabalho atual são arquivadas se esse parâmetro não for especificado. Para obter mais informações sobre como Team Foundation analisa o para determinar quais itens estão dentro do itemspec escopo, consulte Usar opções para modificar como um comando funciona.
<shelvesetname> Especifica um nome pelo qual o conjunto de prateleiras pode ser recuperado do servidor Azure DevOps. Você pode especificar uma combinação existente de shelvesetname e owner, mas somente se /replace também for especificado.

Você deve fornecer um valor para esse parâmetro.
<owner> Identifica o proprietário atual ou pretendido do conjunto de prateleiras por nome de usuário. Por padrão, o usuário atual recebe a propriedade do conjunto de prateleiras se um não for especificado.
<username> Fornece um valor para a /login opção. Você pode especificar um valor de nome de usuário como ou DOMAIN\usernameusername.
<TeamProjectCollectionUrl> A URL da coleção de projetos que contém os arquivos ou pastas que você deseja arquivar, por exemplo http://myserver:8080/tfs/DefaultCollection/.

Opções

Opção Descrição
/new O estado selecionado de cada alteração pendente, conforme mostrado na caixa de diálogo Check-in do Visual Studio, o comentário, os itens de trabalho associados, as notas de check-in e o motivo de substituição da política de check-in são armazenados em sua máquina de desenvolvimento como alterações pendentes até que você faça check-in. A /new opção limpa esses metadados de check-in antes do check-in.
/move Remove as alterações pendentes do espaço de trabalho após a operação de prateleira ser bem-sucedida.
/replace Substitui o conjunto de prateleiras existente com o mesmo nome e proprietário que aquele que você especificar.
/delete Exclui o conjunto de prateleiras especificado. Apenas a /server opção pode ser combinada com esta opção. Se você não incluir a /noprompt opção, uma mensagem de confirmação será exibida quando a /delete opção for especificada.
/comment Adiciona um comentário especificado descrevendo as alterações arquivadas.
/recursive Prateleiras todos os itens na pasta shelveset especificada, suas subpastas e todos os itens nela se o itemspec que você fornecer for uma pasta.
/noprompt Suprime todas as solicitações de entrada de você.
/validate Esta opção seleciona a caixa de seleção Avaliar políticas e notas de check-in antes de arquivar na caixa de diálogo Shelve - Arquivos de origem quando ela for aberta. Quando a caixa de seleção de validação é marcada, a caixa de diálogo avalia as políticas de check-in e verifica se as anotações de check-in exigidas foram preenchidas. Essa opção é útil quando as alterações estão sendo entregues para revisão e check-in por outra pessoa. Não é válido quando combinado com /noprompt.
/login Especifica o nome de usuário e a senha para autenticar o usuário com o Azure DevOps Server.
/collection Especifica a coleção de projetos.

Observações

O shelve comando do tf utilitário de linha de comando faz backup de alterações pendentes, uma lista de itens de trabalho associados, notas de check-in em andamento e comentários em um conjunto de prateleiras no servidor de DevOps do Azure. Um conjunto de prateleiras é muito parecido com um conjunto de alterações que não está comprometido com o servidor. Como um conjunto de alterações, um conjunto de prateleiras pode ser recuperado do servidor para um espaço de trabalho local por qualquer usuário que tenha permissões suficientes.

O estante é uma alternativa ao check-in de alterações pendentes que não foram testadas suficientemente. Use prateleiras quando quiser interromper seu trabalho para:

  • Compartilhe um conjunto de arquivos de trabalho locais com outro desenvolvedor ou testador sem verificar suas alterações no servidor de controle de versão.

  • Separe um grupo de alterações pendentes temporariamente sem fazer check-in, para que você possa trabalhar em um problema de prioridade mais alta. Depois de concluir o trabalho na tarefa de alta prioridade, você pode restaurar as alterações arquivadas usando o comando Unshelve.

Se você incluir a /move opção, o shelve comando reverterá cada revisão de arquivo arquivado para a versão base do espaço de trabalho que é a última versão recuperada do servidor para o espaço de trabalho atual. Especificamente, para todos os itens que você arquivar, a /move opção:

  • Usa Undo para desfazer as alterações que foram arquivadas. Os arquivos que estavam pendentes de adições são excluídos do espaço de trabalho.

  • Recupera as versões base do espaço de trabalho de todos os arquivos para os quais existem edições pendentes do servidor para o espaço de trabalho atual.

  • Marca todos os itens no espaço de trabalho atual somente leitura.

Se você incluir a opção, o /delete TFVC removerá permanentemente o conjunto de prateleiras especificado do servidor Azure DevOps.

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.

Exemplos

O exemplo a seguir cria um novo conjunto de prateleiras no servidor de DevOps do Azure chamado Reflector_BuddyTest, atribui propriedade ao usuário Pat, retorna todos os itens no espaço de trabalho atual para a versão mais recente baixada durante a última get operação e define um estado somente leitura:

c:\projects> tf shelve Reflector_BuddyTest;Pat /move

O exemplo a seguir exclui o conjunto de prateleiras new-feature existente do servidor, cria um novo conjunto de prateleiras com esse nome e retém todas as alterações pendentes no espaço de trabalho atual:

c:\projects> tf shelve new-feature /replace

O exemplo a seguir cria um conjunto de prateleiras chamado HelloWorld_TestMe que inclui todas as alterações pendentes em todos os arquivos .cs na pasta de trabalho C:\projects e suas subpastas:

c:\projects> tf shelve HelloWorld_TestMe c:\projects\*.cs /recursive

O exemplo a seguir exclui o HelloWorld_24 conjunto de prateleiras:

c:\projects> tf shelve HelloWorld_24 /delete