Comando Branch (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 branch TFVC copia um item ou conjunto de itens, incluindo metadados e histórico de controle de versão de um local para outro no servidor do Azure DevOps e no espaço de trabalho local.

Observação

Os resultados desse comando não são mostrados no servidor do Azure DevOps até que você faça uma operação de check-in. Para obter mais informações, consulte Fazer check-in do seu trabalho para a base de código da equipe.

Pré-requisitos

Para usar o comando branch, você deve ter a permissão deLeitura para o item de origem e as permissões Check-out e Mesclagem para a pasta de destino definida como Permitir. Para saber mais, consulte Permissões padrão do TFVC.

Sintaxe

tf branch olditem newitem [/version:versionspec] [/noget] [/lock:(none|checkin|checkout)] [/noprompt] [/silent] [/checkin] [/comment:("comment"|@commentfile)] [/author:authorname] [/login:username, [password]] [/recursive]

Parâmetros

Argumento

Argument Descrição
<olditem> Especifica o nome do arquivo ou pasta de origem que está sendo ramificado. O <olditem> também pode conter informações de versão no formato item;version.
<newitem> Especifica o nome do arquivo ou pasta de destino ou da pasta pai para o destino. Se <*newitem> já existir e for uma pasta Azure DevOps Server, o TFVC cria os itens ramificados dentro dela. Caso contrário, <newitem> especifica o nome do arquivo ou pasta de destino. Os conflitos podem ocorrer durante o check-in se o destino já existir.
<versionspec> Fornece um valor para a opção /version. Para obter mais informações sobre como o TFVC analisa especificação de versão para determinar quais itens estão dentro do escopo, consulte Usar comandos do controle de versão do Team Foundation.
<comment> Fornece um comentário sobre o branch.
@<commentfile> Especifica o caminho de um arquivo que contém o comentário usado para o branch.
<authorname> O valor fornecido pelo usuário para a opção /author.
<username> Mostra um valor para a opção /login. Você pode especificar um valor de nome de usuário como DOMAIN\username ou <username>.

Opção

Opção

Descrição

/version

A versão do item na qual você deseja criar o branch. Você pode especificar uma versão por:

  • Data/hora (D10/20/2005)
  • Número do conjunto de alterações (C1256)
  • Rótulo (Lmylabel)
  • Versão mais recente (T)
  • Espaço de trabalho (Wworkspacename)

Se nenhuma versão for fornecida, o TFVC usará a seguinte lógica para decidir qual versão do item copiar para o novo branch:

  • Se um caminho de Azure DevOps Server for especificado, o TFVC ramifica o item na versão mais recente do Azure DevOps Server. Por exemplo, tf branch $/projects/help.cs usa a versão do servidor.
  • Se um caminho local for especificado para a origem, o TFVC usa a versão local do espaço de trabalho para criar o novo branch. Por exemplo, tf branch C:\314.cs usa a versão do espaço de trabalho local.

Se você ramificar um arquivo cuja versão do espaço de trabalho é mais antiga do que a versão mais recente no servidor do Azure DevOps, o arquivo será ramificado na versão mais antiga.

/lock

Impede que outros usuários faça check-in ou check-out de itens até fazer check-in em seu branch pendente e alterações associadas. Para obter mais informações, consulte Noções básicas sobre tipos de bloqueio.

Opções de bloqueio:

  • none
    Padrão. Nenhum bloqueio é aplicado. Se houver um bloqueio no arquivo para o qual você está criando um branch, essa opção será removida.
  • checkin
    Outros usuários podem fazer check-out dos itens especificados, mas não podem fazer check-in de revisões para arquivos bloqueados até que você libere o bloqueio fazendo um check-in. Se outros usuários tiverem bloqueado qualquer um dos itens especificados, a operação de bloqueio falhará.
  • checkout
    Impede que outros usuários faça check-in ou faça check-out de qualquer um dos itens especificados até que você libere o bloqueio executando um check-in. Se outros usuários tiverem bloqueado qualquer um dos itens especificados, a operação de bloqueio não funcionará.

/noget

Se essa opção for especificada, cópias locais dos arquivos e pastas no novo branch não serão criadas no espaço de trabalho local. No entanto, as cópias locais serão recuperadas no espaço de trabalho na próxima vez que você executar uma operação get repetitiva.

Observação

Você pode impedir que itens, como o conteúdo de uma pasta /images, sejam recuperados para seu espaço de trabalho durante as operações get repetitivo e get mais recente ocultando uma pasta de espaço de trabalho. Para obter mais informações, consulte Comando Pasta de trabalho.

/noprompt

Suprime quaisquer prompts de entrada.

/silent

Implica /noget e especifica que a saída não é gravada na janela do prompt de comando quando você cria um branch.

/checkin

Cria e faz check-in no branch para o servidor em uma operação. Essa opção não cria alterações pendentes no espaço de trabalho local.

/comment

Adiciona um comentário ao novo branch. Essa opção é usada junto com a opção /checkin.

/author

Identifica o autor do novo branch. Essa opção é usada junto com a opção /checkin.

/recursive

Para pastas, ramifique todos os arquivos dentro.

Comentários

Se você especificar um caminho local como c:\00101, mas não especificar um <versionspec>, o TFVC usa a versão do espaço de trabalho local como base para criar o novo branch.

No entanto, se você especificar um caminho de servidor como $/00101/*.cs e não especificar um <versionspec>, o TFVC usa a versão mais recente do Azure DevOps Server como base para criar o novo branch.

Para saber mais sobre como usar o utilitário de linha de comando tf, consulte Usar comandos do controle de versão do Team Foundation.

Exemplos

Os exemplos a seguir pressupõem que c:\projects mapeia a pasta principal no espaço de trabalho.

O exemplo a seguir cria um arquivo de branch que contém a versão mais recente do espaço de trabalho do 314.cs, nomeia 314_branch e salva no diretório atual no disco e também na pasta Azure DevOps Server para a qual ele mapeia.

c:\projects>tf branch 314.cs 314_branch

O exemplo a seguir copia todos os arquivos sem edições pendentes na versão do espaço de trabalho do 314.cs de sua pasta Azure DevOps Server atual para a pasta testdata Azure DevOps Server e do diretório atual no disco para a pasta de trabalho que mapeia a pasta testdata do Azure DevOps Server.

c:\projects>tf branch C:\314.cs $/testdata

O exemplo a seguir copia todos os arquivos sem edições pendentes na versão atual do espaço de trabalho da pasta testfiles e os arquivos que ele contém para todos os itens de sua pasta Azure DevOps Server atual para a pasta testfiles_branch do Azure DevOps Server e de c:\testfiles para a pasta local que mapeia para a pasta testfiles_branch do Azure DevOps Server.

c:\projects>tf branch C:\testfiles $/testfiles_branch

O exemplo a seguir cria um branch de 314.cs como existia no conjunto de alterações nº 4 para o arquivo. Na pasta de trabalho no disco, como no servidor do Azure DevOps, um arquivo de branch intitulado csharp_branch é criado.

c:\projects>tf branch C:\314.cs;C4 csharp_branch

O exemplo a seguir cria um novo branch de 314.cs como era em 12/12/03. Na pasta de trabalho no disco, como no servidor do Azure DevOps, um arquivo de branch intitulado 314\branch é criado.

c:\projects>tf branch 314.cs;D12/12/03 314_branch

O exemplo a seguir ramifica a versão do 314.cs à qual o rótulo Beta1 foi aplicado, nomeia como Beta1branch e salva no diretório atual no disco, além da pasta Azure DevOps Server à qual o diretório atual mapeia.

c:\projects>tf branch 314.cs;LBeta1 314_Beta1branch