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

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

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

Pré-requisitos

Se você quiser usar o comando shelve para excluir um check-in particular, é necessário ser um proprietário do check-in particular, ou sua permissão Administrar alterações arquivadas deverá ser definida como Permitir. Para saber mais, confira Permissões padrão do TFVC.

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

Argument Descrição
<commentfile> Especifica um caminho do sistema de arquivos de um arquivo do qual os comentários para o conjunto de check-in particular devem ser lidos.
<comment> Especifica o comentário do conjunto de check-in particular.
<itemspec> Identifica os arquivos ou pastas a serem arquivados. Por padrão, todas as alterações pendentes no workspace atual serão arquivadas se esse parâmetro não for especificado. Para obter mais informações sobre como o 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 check-in particular pode ser recuperado do servidor do 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 este parâmetro.
<owner> Identifica o proprietário atual ou pretendido do conjunto de check-in particular por nome de usuário. Por padrão, o usuário atual recebe a propriedade do conjunto de check-in particular se um não for especificado.
<username> Mostra 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 anotações de check-in e o motivo da substituição da política de check-in, são armazenados no computador de desenvolvimento como alterações pendentes até que você realize os check-in nele. A opção /new limpa esses metadados de check-in antes de fazer check-in.
/move Remove as alterações pendentes do workspace depois que a operação de check-in particular é bem-sucedida.
/replace Substitui o conjunto de check-in particular existente pelo mesmo nome e proprietário que o especificado.
/delete Exclui o conjunto de check-in particular especificado. Somente a opção /server pode ser combinada com essa 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 que descreve as alterações arquivadas.
/recursive Arquiva todos os itens na pasta de conjunto de check-in particular especificada, suas subpastas e todos os itens nele se o fornecido itemspec for uma pasta.
/noprompt Suprime quaisquer prompts de entrada.
/validate Essa opção seleciona a caixa Avaliar políticas e anotações marcar antes de marcar na caixa de diálogo Check-in particular – Arquivos quando ela é 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 necessárias 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 no Azure DevOps.
/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 check-in particular no servidor do Azure DevOps. Um conjunto de check-in particular é 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 check-in particular pode ser recuperado do servidor em um workspace local por qualquer usuário que tenha permissões suficientes.

O check-in particular é uma alternativa para verificar as alterações pendentes que não foram testadas o suficiente. Use o check-in particular quando quiser interromper seu trabalho para:

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

  • Reservar 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 arquivada para a versão base do workspace que é a última versão recuperada do servidor para o workspace atual. Especificamente, para todos os itens que você armazena, a opção /move:

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

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

  • Marca todos os itens no workspace atual somente leitura.

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

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 check-in particular no servidor do Azure DevOps chamado Reflector_BuddyTest, atribui a propriedade ao usuário Pat, retorna todos os itens no workspace atual para a versão mais recente baixada durante a última operação get e define um estado somente leitura:

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

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

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

O exemplo a seguir cria um conjunto de check-in particular 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 a agenda HelloWorld_24:

c:\projects> tf shelve HelloWorld_24 /delete