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

Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

O comando TFVC branch copia um item ou conjunto de itens, incluindo metadados e histórico de controle de versão, de um local para outro no servidor Azure DevOps e no espaço de trabalho local.

Nota

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

Pré-requisitos

Para usar o branch comando, você deve ter a permissão de Leitura para o item de origem e as permissões de Check-out e Mesclagem para a pasta de destino definidas como Permitir. Para obter mais informações, consulte Permissões TFVC padrão.

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

Argumento Descrição
<olditem> Especifica o nome do arquivo ou pasta de origem que está sendo ramificada. 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 a pasta pai para o destino. Se <*newitem> já existir e for uma pasta do Servidor de DevOps do Azure, o TFVC criará os itens ramificados dentro dela. Caso contrário, <newitem> especifica o nome do arquivo ou pasta de destino. Conflitos podem ocorrer durante o check-in se o destino já existir.
<versionspec> Fornece um valor para a /version opção. Para obter mais informações sobre como o TFVC analisa uma especificação de versão para determinar quais itens estão dentro de seu escopo, consulte Usar comandos de controle de versão do Team Foundation.
<comment> Fornece um comentário sobre a ramificação.
@<commentfile> Especifica o caminho de um arquivo que contém o comentário usado para a ramificação.
<authorname> O valor fornecido pelo usuário para a /author opção.
<username> Fornece um valor para a /login opção. Você pode especificar um valor de nome de usuário como ou DOMAIN\username<username>.

Opção

Opção

Descrição

/version

A versão do item no qual você deseja criar a ramificação. 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 a nova ramificação:

  • Se um caminho do Servidor de DevOps do Azure for especificado, o TFVC ramifica o item na versão mais recente do Servidor de DevOps do Azure. Por exemplo, tf branch $/projects/help.cs usa a versão do servidor.
  • Se um caminho local for especificado para a origem, o TFVC usará a versão local do espaço de trabalho para criar a nova ramificação. 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 de DevOps do Azure, o arquivo é ramificado na versão mais antiga.

/lock

Impede que outros usuários façam check-in ou check-out de itens até que você faça check-in de sua ramificação pendente e alterações associadas. Para obter mais informações, consulte Noções básicas sobre tipos de bloqueio.

Opções de bloqueio:

  • none
    Predefinição. Nenhum bloqueio é aplicado. Se existir um bloqueio no ficheiro para o qual está a criar uma ramificação, esta opção remove-o.
  • checkin
    Outros usuários podem fazer check-out dos itens especificados, mas não podem fazer check-in de revisões de arquivos bloqueados até que você libere o bloqueio executando um check-in. Se qualquer outro usuário tiver bloqueado qualquer um dos itens especificados, a operação de bloqueio falhará.
  • checkout
    Impede que outros usuários façam check-in ou check-out de qualquer um dos itens especificados até que você libere o bloqueio executando um check-in. Se qualquer outro usuário tiver bloqueado qualquer um dos itens especificados, a operação de bloqueio falhará.

/noget

Se essa opção for especificada, cópias locais dos arquivos e pastas na nova ramificação 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 recursiva.

Nota

Você pode impedir que itens, como o conteúdo de uma pasta /images , sejam recuperados para seu espaço de trabalho durante operações recursivas de obtenção e obtenção mais recentes ocultando uma pasta de espaço de trabalho. Para obter mais informações, consulte Workfold Command.

/noprompt

Suprime todas as solicitações de entrada de você.

/silent

Implica /nogete especifica que a saída não é gravada na janela do prompt de comando quando você cria uma ramificação.

/checkin

Cria e verifica a ramificação 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 à nova ramificação. Esta opção é usada apenas com a /checkin opção.

/author

Identifica o autor da nova ramificação. Esta opção é usada apenas com a /checkin opção.

/recursive

Para pastas, ramificar todos os arquivos dentro também.

Observações

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

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

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

Exemplos

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

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

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

O exemplo a seguir copia todos os arquivos sem edições pendentes na versão de espaço de trabalho do 314.cs de sua pasta atual do Azure DevOps Server para a pasta testdata Azure DevOps Server e do diretório atual no disco para a pasta de trabalho que mapeia para a pasta testdata 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 de espaço de trabalho atual da pasta testfiles e os arquivos que ela contém para todos os itens de sua pasta atual do Azure DevOps Server para a pasta testfiles_branch Azure DevOps Server e de c:\testfiles para a pasta local que mapeia para a pasta testfiles_branch Azure DevOps Server.

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

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

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

O exemplo a seguir cria uma nova ramificação do 314.cs como era em 12/12/03. Na pasta de trabalho no disco como no servidor de DevOps do Azure, um arquivo de ramificação 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 ao qual o Beta1 rótulo foi aplicado, nomeia-o Beta1branch e o salva no diretório atual no disco, além da pasta Azure DevOps Server para a qual o diretório atual é mapeado.

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