Ramificar pastas e arquivos

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

Visual Studio 2019 | Visual Studio 2022

Você pode usar ramificações para realizar as seguintes metas:

  • Gerencie trabalho simultâneo com várias equipes na mesma base de código.
  • Isole os riscos que são apresentados por conjuntos diferentes de alterações na base de código.
  • Faça instantâneos e ofereça suporte às alterações isoladas subsequentes (por exemplo, para criar uma ramificação de versão).

Por exemplo, a ilustração a seguir mostra como a estrutura de ramificação que a empresa DinnerNow desenvolveu para atender suas necessidades comerciais.

Diagrama que mostra uma estrutura de ramificação.

A Equipe de Recurso A e a Equipe de Recurso B fazem seus trabalhos em ramificações separadas. Quando as equipes estiverem prontas para integrar seus trabalhos, elas mesclarão suas ramificações na ramificação Dev. Quando as compilações da ramificação Dev estiverem estáveis e prontas para teste, as equipes mesclarão a ramificação Dev na ramificação Teste.

Ao passo que cada versão é lançada, a ramificação Principal é transformada em uma nova ramificação de versão, como a ramificação Version1 e a Version2. Seguindo esta estratégia, a empresa pode aprimorar ou corrigir cada versão anterior do produto separadamente, se necessário.

É possível executar uma operação de ramificação usando o Source Control Explorer do Visual Studio, como este artigo demonstra, ou o comando branch em um prompt de comando. Para saber mais, consulte Comando de Ramificação.

Dica

A ramificação é uma técnica importante e poderosa para criar um conjunto paralelo de versões dos arquivos. No entanto, usar as ramificações pode adicionar complexidade e custo ao seu projeto. Por exemplo, quando você mescla duas ramificações, pode ter que resolver conflitos.

Antes de criar uma ramificação, você deve considerar se pode satisfazer melhor suas necessidades através da aplicação de um rótulo. Aplicando um rótulo, você pode obter de forma rápida e fácil um instantâneo do estado dos seus arquivos para que você possa recuperar ou compilar posteriormente os arquivos nesse estado. Para saber mais, consulte Usar rótulos para obter um instantâneo de seus arquivos.

Pré-requisitos

  • Para converter uma pasta em uma ramificação, sua permissão Gerenciar ramificação deve ser definida como Permitir.
  • Para executar uma ramificação, sua permissão Gerenciar ramificação deve ser definida para Permitir para os caminhos das ramificações de fonte e destino. A sua permissão Mesclar para o caminho da ramificação de destino deve estar definida como Permitir.
  • Para executar a ramificação de pasta ou arquivo, sua permissão Fazer Check-out e sua permissão Mesclar para o caminho de destino devem ser definidas para Permitir.

Para saber mais, consulte Permissões padrão do TFVC.

Converter uma pasta em uma ramificação

As ramificações são diferentes das pastas. A ilustração a seguir mostra o nível superior da estrutura de pastas DinnerNow no Source Control Explorer do Visual Studio.

Ilustração mostrando a estrutura de pastas no Source Control Explorer.

Como mostra a ilustração, você ainda pode usar pastas para organizar ramificações em uma hierarquia de controle de versão do projeto. Porém, pastas e ramificações têm uma aparência e recursos diferentes. Quando você clica com o botão direito do mouse em uma pasta ou ramificação e seleciona Propriedades>Avançadas, você exibe informações diferentes e funcionalidade diferente.

Quando você executa operações de ramificação, as ramificações têm vantagens importantes sobre as pastas. Ramificações dão suporte a recursos de controle de versão que fornecem visibilidade extra em sua estrutura de ramificação e em onde seus conjuntos de alterações foram mesclados. Embora você ainda possa ramificar e mesclar entre pastas, a melhor prática para a sua equipe é ramificar e mesclar apenas entre ramificações. O seguinte procedimento explica como converter uma pasta a uma ramificação.

Importante

Certifique-se de que a pasta que você deseja converter existe no servidor. Se o ícone de adição pendente ícone Status de adição pendente do TFSC. aparece ao lado da pasta no Source Control Explorer, clique com o botão direito do mouse na pasta e selecione Fazer check-in de Alterações Pendentes.

  1. No Source Control Explorer, clique com o botão direito do mouse na pasta que você deseja converter e selecione Ramificação e Mesclagem>Converter para ramificação.

  2. Na caixa de diálogo Converter Pasta para Ramificação:

    • No campo Proprietário, como opção digite o nome da pessoa que possui esta ramificação. Esse campo destina-se apenas a informações e não concede permissões.
    • No campo Descrição, como opção digite informações para ajudar outros membros da equipe a usar essa ramificação ou entender sua finalidade.
    • Se você estiver convertendo uma pasta que você já ramificou, selecione a caixa de seleção Execute recursivamente esta conversão para todas as pastas filho ramificadas. Essa opção converte todas as pastas que foram ramificadas a partir desta pasta em ramificações.
  3. Selecione Converter.

Importante

Você não pode aninhar ramificações. Portanto, você não pode converter uma pasta em uma ramificação se ela contiver ou estiver contida por uma ramificação. Por exemplo, a ilustração a seguir mostra como nem o pai nem o filho da ramificação FeatureTeamA pode ser convertido em uma ramificação.

Ilustração mostrando que ramificações aninhados não são permitidas.

Depois de converter uma pasta em uma ramificação, você pode convertê-la novamente em uma pasta se sua equipe decidir alterar a estrutura da ramificação.

Converter uma ramificação em uma pasta

  1. No Source Control Explorer, selecione a ramificação que você deseja converter.
  2. No menu Arquivo do Visual Studio, selecione Controle do código-fonte>Ramificação e Mesclagem>Converter em Pasta e, em seguida, selecione Sim.

Ramificar uma ramificação

Depois de converter uma pasta em uma ramificação, você pode criar outras ramificações a partir dessa ramificação. O procedimento a seguir mostra como você pode usar o Visual Studio para ramificar uma ramificação. Para fazer essa tarefa no prompt de comando, consulte Comando da ramificação.

  1. No Source Control Explorer, clique com o botão direito do mouse na ramificação que você deseja ramificar e selecione Ramificação e Mesclagem>Ramificação.

  2. Na caixa de diálogo Ramificar do Nome da <ramificação>, em Ramificar da Versão, como opção clique no menu suspenso e selecione uma opção na lista Por:

    • Última Versão cria a ramificação para a versão mais recente no controle de versão.
    • Conjunto de alterações permite inserir o número de um conjunto de alterações na caixa Conjunto de alterações ou selecione as reticências ... para abrir a caixa de diálogo Localizar Conjuntos de Alterações. Para saber mais, consulte Localizar e exibir conjuntos de alterações.
    • Data permite que você insira ou selecione uma data na caixa Data.
    • Rótulo permite que você insira ou localize um rótulo. Para saber mais, consulte Usar rótulos para obter um instantâneo de seus arquivos.
    • Versão do Workspace permite que você crie a ramificação para uma versão em um workspace diferente.
  3. No Nome da ramificação de destino, especifique ou navegue e selecione o caminho da nova ramificação.

  4. Selecione a ramificação. A ramificação é criada e aparece no Source Control Explorer.

Observação

Ao contrário da maioria das operações de controle de versão, esta operação não produz uma alteração pendente. Em vez disso, a operação é concluída imediatamente e você não pode desfazê-la.

Ramificar uma pasta ou um arquivo

Embora você possa ramificar uma pasta ou arquivo diretamente, recomendamos que você evite fazê-lo. Se você ramificar um arquivo ou pasta diretamente, não poderá exibir sua hierarquia de ramificação nem acompanhar seus conjuntos de alterações. A melhor prática é ramificar e mesclar apenas entre ramificações, conforme descrito anteriormente neste artigo.

Mas, se você tiver uma necessidade especial de ramificar uma pasta ou arquivo, poderá usar o seguinte procedimento. Para fazer essa tarefa no prompt de comando, consulte Comando da ramificação.

  1. No Source Control Explorer, clique com o botão direito do mouse na pasta ou arquivo que você deseja ramificar e selecione Ramificação e Mesclagem>Ramificação.

  2. Na caixa de diálogo Ramificação, na caixa Destino, modifique o local e o nome da nova ramificação ou selecione Procurar para navegar e selecionar um destino.

  3. Em Ramificar da versão, como opção clique no menu suspenso e selecione uma opção na lista Por:

    • Última Versão cria a ramificação para a versão mais recente no controle de versão.
    • Conjunto de alterações permite inserir o número de um conjunto de alterações na caixa Conjunto de alterações ou selecione as reticências ... para abrir a caixa de diálogo Localizar Conjuntos de Alterações. Para saber mais, consulte Localizar e exibir conjuntos de alterações.
    • Data permite que você insira ou selecione uma data na caixa Data.
    • Rótulo permite que você insira ou localize um rótulo. Para saber mais, consulte Usar rótulos para obter um instantâneo de seus arquivos.
    • Versão do Workspace permite que você crie a ramificação para uma versão em um workspace diferente.
  4. Opcionalmente, selecione Baixar o item de destino em seu workspace para criar uma cópia do item controlado por versão no workspace local. Desmarque a caixa de seleção se você não precisa de uma cópia local e se deseja melhorar o desempenho não baixando muitos itens para seu computador.

  5. Selecione OK. A ramificação é criada e aparece no Source Control Explorer.

    Observação

    Uma janela Procurar por pasta será exibida se você tiver selecionado Baixar o item de destino para seu workspace e a pasta local especificada não for mapeada no workspace atual. Procure uma pasta ou selecione Criar Nova Pasta, especifique uma pasta para sincronizar os itens de versão controlada e selecione OK.