Compartilhar via


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

Azure DevOps Services | Servidor Azure DevOps | Azure DevOps Server 2022

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

Categoria Requirements
Permissões Proprietário do conjunto de prateleiras ou administrar a permissão de alterações arquivadas 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