Compartilhar via


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 TFVC (Controle de Versão do Team Foundation) shelve 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 conjunto de prateleiras, seja um proprietário de conjunto de prateleiras ou seu Administrar alterações arquivadas permissão deverá 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

de argumento descrição
<commentfile> Especifica um caminho do sistema de arquivos de um arquivo do qual os comentários do conjunto de prateleiras devem ser lidos.
<comment> Especifica o comentário do conjunto de prateleiras.
<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 prateleiras 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 esse parâmetro.
<owner> Identifica o proprietário atual ou pretendido do conjunto de prateleiras pelo 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 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ê as verifique. 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 prateleira é bem-sucedida.
/replace Substitui o conjunto de prateleiras existente pelo mesmo nome e proprietário que o especificado.
/delete Exclui o conjunto de prateleiras 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 Armazena todos os itens na pasta de conjunto de prateleiras especificada, suas subpastas e todos os itens nele se o itemspec fornecido for uma pasta.
/noprompt Suprime qualquer solicitação de entrada de você.
/validate Essa opção seleciona a caixa de seleção Avaliar políticas e anotações de check-in antes de arquivar caixa de seleção na caixa de diálogo Prateleira - 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 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 com o Azure DevOps Server.
/collection Especifica a coleção de projetos.

Observações

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 do Azure DevOps. Um conjunto de é 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 em um workspace local por qualquer usuário que tenha permissões suficientes.

A prateleira é uma alternativa para verificar as alterações pendentes que não foram testadas o suficiente. Use a prateleira 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.

  • Reserve 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 Não útil.

Se você incluir a opção /move, o comando shelve reverterá cada revisão de arquivo arquivada para a versão do workspace base 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 prateleiras 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 prateleiras no servidor do Azure DevOps chamado Reflector_BuddyTest, atribui propriedade ao usuário Pat, retorna todos os itens no workspace 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 conjunto de prateleiras existente new-feature do servidor, cria um novo conjunto de prateleiras 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 prateleiras chamado HelloWorld_TestMe que inclui todas as alterações pendentes em todos os arquivos .cs no C:\projects pasta de trabalho e suas subpastas:

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

O exemplo a seguir exclui o conjunto de HelloWorld_24:

c:\projects> tf shelve HelloWorld_24 /delete