Pastas e arquivos de filiais

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

Visual Studio 2019 | Visual Studio 2022

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

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

Por exemplo, a ilustração a seguir mostra a estrutura de filiais que a empresa DinnerNow desenvolveu para atender às suas necessidades de negócios.

Diagrama que mostra uma estrutura de ramificação.

A Equipe de Recursos A e a Equipe de Recursos B fazem seu trabalho em ramificações separadas. Quando as equipes estão prontas para integrar seu trabalho, elas mesclam suas ramificações na ramificação de Dev. Quando as compilações da ramificação Dev estão estáveis e prontas para teste, as equipes mesclam a ramificação Dev na ramificação Test.

À medida que cada versão é lançada, a ramificação Principal é ramificada em uma nova ramificação de versão, como a ramificação Version1 e a ramificação Version2. Ao seguir essa estratégia, a empresa pode aprimorar ou corrigir cada versão passada do produto separadamente, se necessário.

Você pode executar uma operação de ramificação usando o Gerenciador de Controle do Código-Fonte do Visual Studio, como este artigo demonstra, ou o branch comando em um prompt de comando. Para obter mais informações, consulte Branch Command.

Gorjeta

A ramificação é uma técnica importante e poderosa para criar um conjunto paralelo de versões dos seus ficheiros. No entanto, o uso de ramificações pode adicionar complexidade e custo ao seu projeto. Por exemplo, quando você mescla duas ramificações, talvez seja necessário resolver conflitos.

Antes de criar uma filial, você deve considerar se pode atender melhor às suas necessidades aplicando um rótulo. Ao aplicar um rótulo, você pode rápida e facilmente tirar um instantâneo do estado de seus arquivos para que possa recuperar ou compilar posteriormente os arquivos nesse estado. Para obter mais informações, consulte Usar rótulos para tirar 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 ramificar uma ramificação, sua permissão Gerenciar ramificação deve ser definida como Permitir os caminhos para as ramificações de origem e de destino. Sua permissão Mesclar para o caminho da ramificação de destino deve ser definida como Permitir.
  • Para ramificar uma pasta ou arquivo, a permissão Check-out e a permissão Mesclar para o caminho de destino devem ser definidas como Permitir.

Para obter mais informações, consulte Permissões TFVC padrão.

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 Gerenciador de Controle do Código-Fonte do Visual Studio.

Ilustração mostrando a estrutura de pastas no Gerenciador de Controle do Código-Fonte.

Como mostra a ilustração, você ainda pode usar pastas para organizar ramificações dentro da hierarquia de controle de versão de um projeto. No entanto, pastas e ramificações têm uma aparência diferente e recursos diferentes. Ao clicar com o botão direito do mouse em uma pasta ou ramificação e selecionar Propriedades avançadas>, você exibe informações diferentes e funcionalidades diferentes.

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

Importante

Verifique se a pasta que você deseja converter existe no servidor. Se o ícone Ícone de status de adição pendente do TFSC. de adição pendente aparecer ao lado da pasta no Gerenciador de Controle do Código-Fonte, clique com o botão direito do mouse na pasta e selecione Fazer check-in de alterações pendentes.

  1. No Gerenciador de Controle do Código-Fonte, clique com o botão direito do mouse na pasta que deseja converter e selecione Ramificação e Mesclagem>Converter em Ramificação.

  2. Na caixa de diálogo Converter pasta em ramificação :

    • No campo Proprietário, opcionalmente, insira o nome da pessoa que possui esta filial. Este campo é apenas para informação e não concede permissões.
    • No campo Descrição, opcionalmente, 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 já tenha ramificado, marque a caixa de seleção Executar recursivamente essa conversão para todas as pastas filhas ramificadas. Esta opção converte todas as pastas que foram ramificadas desta pasta em ramificações.
  3. Selecione Converter.

Importante

Não é possível aninhar ramos. 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 que nem o pai nem o filho da ramificação FeatureTeamA podem ser convertidos em uma ramificação.

Ilustração mostrando que ramificações aninhadas 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 filial.

Converter uma ramificação em uma pasta

  1. No Gerenciador de Controle do Código-Fonte, selecione a ramificação que você deseja converter.
  2. No menu Arquivo do Visual Studio, selecione Ramificação do controle>do código-fonte e mesclagem>Converter em pasta e, em seguida, selecione Sim.

Sucursal uma sucursal

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 executar essa tarefa no prompt de comando, consulte Branch Command.

  1. No Gerenciador de Controle do Código-Fonte, clique com o botão direito do mouse na ramificação que você deseja ramificar e selecione Ramificação e Mesclagem>.

  2. Na caixa de diálogo Ramificação do nome> da <ramificação, em Ramificação da versão, opcionalmente, selecione uma opção na lista Por:

    • Versão mais recente cria a ramificação para a versão mais recente no controle de versão.
    • O conjunto de alterações permite inserir o número de um conjunto de alterações na caixa Conjunto de alterações ou selecionar as reticências ... para abrir a caixa de diálogo Localizar conjuntos de alterações. Para obter mais informações, consulte Localizar e exibir conjuntos de alterações.
    • Data permite inserir ou selecionar uma data na caixa Data .
    • A etiqueta permite-lhe introduzir ou encontrar uma etiqueta. Para obter mais informações, consulte Usar rótulos para tirar um instantâneo de seus arquivos.
    • A Versão do Espaço de Trabalho permite criar a ramificação para uma versão em um espaço de trabalho diferente.
  3. Em Nome da ramificação de destino, especifique ou procure e selecione o caminho da nova ramificação.

  4. Selecione Ramificação. A ramificação é criada e aparece no Gerenciador de Controle do Código-Fonte.

Nota

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

Ramificar uma pasta ou arquivo

Embora você possa ramificar uma pasta ou arquivo diretamente, recomendamos que evite fazê-lo. Se você ramificar um arquivo ou pasta diretamente, não poderá visualizar sua hierarquia de ramificação ou controlar seus conjuntos de alterações. A prática recomendada é 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, você pode usar o procedimento a seguir. Para executar essa tarefa no prompt de comando, consulte Branch Command.

  1. No Gerenciador de Controle do Código-Fonte, clique com o botão direito do mouse na pasta ou arquivo que deseja ramificar e selecione Ramificação e Mesclagem>.

  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 procurar e selecionar um destino.

  3. Em Ramificação da versão, opcionalmente, selecione uma opção na lista Por :

    • Versão mais recente cria a ramificação para a versão mais recente no controle de versão.
    • O conjunto de alterações permite inserir o número de um conjunto de alterações na caixa Conjunto de alterações ou selecionar as reticências ... para abrir a caixa de diálogo Localizar conjuntos de alterações. Para obter mais informações, consulte Localizar e exibir conjuntos de alterações.
    • Data permite inserir ou selecionar uma data na caixa Data .
    • A etiqueta permite-lhe introduzir ou encontrar uma etiqueta. Para obter mais informações, consulte Usar rótulos para tirar um instantâneo de seus arquivos.
    • A Versão do Espaço de Trabalho permite criar a ramificação para uma versão em um espaço de trabalho diferente.
  4. Opcionalmente, selecione Baixar o item de destino para seu espaço de trabalho para criar uma cópia do item controlado por versão no espaço de trabalho local. Desmarque a caixa de seleção se não precisar de uma cópia local e quiser melhorar o desempenho não baixando muitos itens para o computador.

  5. Selecione OK. A ramificação é criada e aparece no Gerenciador de Controle do Código-Fonte.

    Nota

    Uma janela Procurar pasta será exibida se você tiver selecionado Baixar o item de destino para seu espaço de trabalho e a pasta local especificada não estiver mapeada no espaço de trabalho atual. Procure uma pasta ou selecione Criar nova pasta, especifique uma pasta para sincronizar com os itens controlados por versão e selecione OK.