Partilhar via


Comando Shelve (Controle de Versão do Team Foundation)

Serviços de DevOps do Azure | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020

Visual Studio 2019 | do Visual Studio 2022

O comando shelve do Controle de Versão do Team Foundation (TFVC) 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

Categoria Requerimentos
Permissões O proprietário do conjunto de prateleiras ou Administrar arquivado altera a permissão definida como Permitir.

Para obter mais informações, consulte Default TFVC permissions.

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 itemspec para determinar quais itens estão dentro do 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 opção /login. Você pode especificar um valor de nome de usuário como DOMAIN\username ou username.
<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 opção /new 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 opção /server pode ser combinada com esta opção. Se você não incluir a opção /noprompt, uma mensagem de confirmação será exibida quando a opção /delete for especificada.
/comment Adiciona um comentário especificado descrevendo as alterações arquivadas.
/recursive Arquiva todos os itens na pasta de prateleira especificada, suas subpastas e todos os itens nela contidos se a itemspec fornecida 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 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.

Comentários

O comando shelve do utilitário de linha de comando tf 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 de prateleira é 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 opção /move, o comando shelve reverterá cada revisão de arquivo arquivado para a versão do espaço de trabalho base que é a última versão recuperada do servidor para o espaço de trabalho atual. Especificamente, para todos os itens que você arquivar, a opção /move:

  • 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 /delete, o TFVC removerá permanentemente o conjunto de prateleiras especificado do servidor de DevOps do Azure.

Para obter mais informações sobre como usar o utilitário de linha de comando tf, 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 operação de get e define um estado somente leitura:

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

O exemplo a seguir exclui o new-feature de conjunto de prateleiras 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 de .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 shelveset:

c:\projects> tf shelve HelloWorld_24 /delete