Ramificar pastas e arquivos
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019 | TFS 2018
Visual Studio 2019 | Visual Studio 2022
Você pode usar ramificações para realizar as seguintes metas:
- Gerencie o trabalho simultâneo por várias equipes na mesma base de código.
- Isolar riscos introduzidos por diferentes conjuntos de alterações na base de código.
- Tire instantâneos e dê suporte a alterações isoladas subsequentes (por exemplo, para criar um branch de lançamento).
Por exemplo, a ilustração a seguir mostra a estrutura de branch que a empresa DinnerNow desenvolveu para atender às suas necessidades de negócios.
A Equipe de Recursos A e a Equipe de Recursos B fazem seu trabalho em branches separados. 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.
Você pode executar uma operação de ramificação usando o Gerenciador de Controle de Origem do Visual Studio, como demonstra este artigo, ou o branch
comando em um prompt de comando. Para obter mais informações, consulte o Comando branch.
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 obter mais informações, consulte Usar rótulos para tirar um instantâneo de seus arquivos.
Pré-requisitos
- Para converter uma pasta em um branch, a permissão Gerenciar branch deve ser definida como Permitir.
- Para ramificar uma ramificação, a permissão Gerenciar branch deve ser definida como Permitir os caminhos para os branches de origem e de destino. A permissão Mesclagem para o caminho do branch de destino deve ser definida como Permitir.
- Para ramificar uma pasta ou arquivo, sua permissão de check-out e sua permissão de mesclagem 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 um branch
Os branches são diferentes das pastas. A ilustração a seguir mostra o nível superior da estrutura de pastas DinnerNow no Gerenciador de Controle de Origem do Visual Studio.
Como mostra a ilustração, você ainda pode usar pastas para organizar branches dentro da hierarquia de controle de versão de um projeto. Porém, pastas e ramificações têm uma aparência e recursos diferentes. Ao clicar com o botão direito do mouse em uma pasta ou branch e selecionarPropriedades Avançadas>, você exibe informações diferentes e funcionalidades diferentes.
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
Verifique se a pasta que você deseja converter existe no servidor. Se o ícone de adição pendente aparece ao lado da pasta no Gerenciador de Controle de Origem, clique com o botão direito do mouse na pasta e selecione Verificar Alterações Pendentes.
No Gerenciador de Controle de Origem, clique com o botão direito do mouse na pasta que você deseja converter e selecionar Ramificar e Mesclar>Converter em Branch.
Na caixa de diálogo Converter Pasta em Ramificação :
- No campo Proprietário , opcionalmente, insira o nome da pessoa que possui esse branch. Esse campo é somente para informações e não concede permissões.
- No campo Descrição , opcionalmente, digite informações para ajudar outros membros da equipe a usar esse branch ou entender sua finalidade.
- Se você estiver convertendo uma pasta que já ramificou, selecione a caixa de seleção Executar essa conversão recursivamente para todas as pastas filho ramificadas . Essa opção converte todas as pastas que foram ramificadas desta pasta em branches.
Selecione Converter.
Importante
Você não pode aninhar galhos. Portanto, você não poderá converter uma pasta em um branch se ela contiver ou estiver contida por um branch. Por exemplo, a ilustração a seguir mostra que nem o pai nem o filho do branch FeatureTeamA podem ser convertidos em um branch.
Depois de converter uma pasta em um branch, você poderá convertê-la novamente em uma pasta se sua equipe decidir alterar sua estrutura de branch.
Converter um branch em uma pasta
- No Gerenciador de Controle de Origem, selecione o branch que você deseja converter.
- No menu Arquivo do Visual Studio, selecione Ramificação de Controle > do Código-Fontee Mesclar>Converter em Pasta e selecione Sim.
Ramificar uma ramificação
Depois de converter uma pasta em um branch, você poderá criar outros branches desse branch. 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 o Comando branch.
No Gerenciador de Controle de Origem, clique com o botão direito do mouse no branch que você deseja ramificar e selecionar Ramificação e Ramificação de Mesclagem>.
Na caixa de diálogo Branch do Nome> do <Branch, em Branch da Versão, opcionalmente, solte e selecione uma opção na lista Por:
- A versão mais recente cria o branch 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.
- A data permite que você insira ou selecione uma data na caixa Data .
- O rótulo permite que você insira ou localize um rótulo. Para obter mais informações, consulte Usar rótulos para tirar um instantâneo de seus arquivos.
- A Versão do Workspace permite criar o branch para uma versão em um workspace diferente.
Em Nome do Branch de Destino, especifique ou navegue até e selecione o caminho do novo branch.
Selecione Branch. O branch é criado e aparece no Gerenciador de Controle de Origem.
Observação
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 um arquivo
Embora você possa ramificar uma pasta ou arquivo diretamente, recomendamos que você evite fazer isso. Se você ramificar um arquivo ou pasta diretamente, não poderá exibir sua hierarquia de branch nem controlar seus conjuntos de alterações. A melhor prática é ramificar e mesclar somente entre branches, conforme descrito anteriormente neste artigo.
Mas se você tiver uma necessidade especial de ramificar uma pasta ou arquivo, poderá usar o procedimento a seguir. Para fazer essa tarefa no prompt de comando, consulte o Comando branch.
No Gerenciador de Controle de Origem, clique com o botão direito do mouse na pasta ou arquivo que você deseja ramificar e selecione Ramificar e Mesclar>Branch.
Na caixa de diálogo Branch , na caixa De destino, modifique o local e o nome do novo branch ou selecione Procurar para navegar e selecionar um destino.
Em Branch da versão, opcionalmente, solte e selecione uma opção na lista Por :
- A versão mais recente cria o branch 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.
- A data permite que você insira ou selecione uma data na caixa Data .
- O rótulo permite que você insira ou localize um rótulo. Para obter mais informações, consulte Usar rótulos para tirar um instantâneo de seus arquivos.
- A Versão do Workspace permite criar o branch para uma versão em um workspace diferente.
Opcionalmente, selecione Baixar o item de destino no workspace para criar uma cópia do item controlado pela versão no workspace local. Desmarque a caixa de seleção se você não precisar de uma cópia local e quiser melhorar o desempenho não baixando muitos itens para o computador.
Selecione OK. O branch é criado e aparece no Gerenciador de Controle de Origem.
Observação
Uma janela Procurar Pasta será exibida se você selecionou Baixar o item de destino no workspace e a pasta local especificada não estiver mapeada no workspace atual. Procure uma pasta ou selecione Criar Nova Pasta, especifique uma pasta para sincronizar com os itens controlados pela versão e selecione OK.
Artigos relacionados
- Usar o Gerenciador de Controle do Código-Fonte para gerenciar arquivos sob controle de versão
- Exibir onde e quando os conjuntos de alterações foram mesclados
- Exibir a hierarquia de branch de um projeto
- Comando Branch
- Comando Branches
- Branch de maneira estratégica
- Guia de ramificação do Visual Studio TFS