Partilhar via


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 | 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

Se você quiser usar o comando shelve para excluir um conjunto de prateleiras, ser proprietário de um conjunto de prateleiras ou seu Administrar alterações arquivadas permissão deve ser 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