Sobre ramificações e políticas de ramificação

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

As políticas de branch são uma parte importante do fluxo de trabalho do Git e permitem que você:

  • Isole o trabalho em andamento do trabalho concluído no branch principal
  • Garanta o build das alterações antes que elas cheguem ao principal
  • Limite quem pode contribuir com branches específicos
  • Imponha quem pode criar branches e as diretrizes de nomenclatura para os branches
  • Inclua automaticamente os revisores certos em cada alteração de código
  • Imponha as práticas recomendadas com os revisores de código obrigatórios

A tabela a seguir resume as políticas que você pode definir para personalizar um branch. Para obter uma visão geral de todas as políticas e configurações dos repositórios e branches, consulte Configurações e políticas do repositório Git.

Política

Default

Descrição


Desativado

Exigir aprovação de um número especificado de revisores em solicitações de pull.

Desativado

Incentivar a rastreabilidade verificando os itens de trabalho vinculados nas solicitações de pull.

Desativado

Verificar se todos os comentários foram resolvidos nas solicitações de pull.

Desativado

Controlar o histórico do branch limitando os tipos disponíveis de mesclagem quando as solicitações de pull são concluídas.

Desativado

Adicionar uma ou mais políticas para validar o código fazendo a pré-mesclagem e criando alterações nas solicitações de pull. Também pode habilitar ou desabilitar políticas.

Desativado

Adicionar uma ou mais políticas para exigir que outros serviços tenham status bem-sucedidos para concluir as solicitações de pull. Também pode habilitar ou desabilitar políticas.

Desativado

Adicionar uma ou mais políticas para indicar revisores de código a serem incluídos automaticamente quando as solicitações de pull alterarem determinadas áreas do código. Também pode habilitar ou desabilitar políticas.

Adotar uma estratégia de branch do Git

Há alguns branches essenciais no seu repositório que a equipe espera estarem sempre adequados, como seu branch main.

Exigir solicitações de pull para fazer qualquer alteração nesses branches. Os desenvolvedores que efetuam push de alterações diretamente nesses branches terão os pushes rejeitados.

Mantenha sua estratégia de branch simples criando-a com base nesses três conceitos:

  1. Use branches de recursos para todos os novos recursos e correções de bugs.
  2. Mescle as ramificações de recursos na ramificação principal usando solicitações de pull.
  3. Mantenha um branch principal atualizado e de alta qualidade.

Uma estratégia que estenda esses conceitos e evite contradições resultará em um fluxo de trabalho de controle de versão consistente e fácil de seguir para sua equipe.

Criar trabalho em ramificações

Os branches do Git não são muita coisa além de uma pequena referência que mantém um histórico exato dos commits. Portanto, eles são baratos de criar.

Confirmar alterações em um branch não afetará outros branches. Você pode compartilhar branches com outras pessoas sem precisar mesclar as alterações no projeto principal.

Você pode criar novos branches para isolar as alterações de um recurso ou uma correção de bug do branch principal e de outro trabalho.

Como os branches são leves, alternar entre eles é rápido e fácil. O Git não cria várias cópias de seu código-fonte ao trabalhar com branches. Ele usa as informações de histórico armazenadas nos commits para recriar os arquivos em um branch quando você começa a trabalhar nele.

Seu fluxo de trabalho do Git deve criar e usar os branches para gerenciar recursos e correções de bugs.

O restante do fluxo de trabalho do Git, como o compartilhamento de código e a revisão de código com solicitações de pull, funciona completamente por meio de branches.

Isolar o trabalho em branches simplifica a alteração daquilo em que você está trabalhando, através da alteração do branch atual.

Como os branches do Git são criados?

Você cria ps branches usando o comando branch. Branch cria uma referência no Git para o novo branch e um ponteiro de volta para o commit pai, para que o Git possa manter um histórico de alterações à medida que você adiciona commits ao branch.

Quando você está trabalhando com um branch que outra pessoa compartilhou, o Git mantém uma relação de acompanhamento no sentido da origem. A relação associa o branch do repositório local ao branch correspondente no repositório remoto.

O acompanhamento no sentido da origem simplifica a sincronização de alterações com outras pessoas usando push e pull.

Visualização de uma ramificação a partir do branch principal no Git

Nesta captura de tela, você pode ver um novo branch que foi criado a partir do branch principal. O trabalho continua em ambos os branches e os commits são adicionados a ambos os branches.

O Git sempre adiciona os novos commits ao branch local atual. Verifique em qual branch você está trabalhando antes de fazer commit para não confirmar as alterações no branch errado.

Alterne entre branches locais usando o comando checkout. O Git alterará os arquivos em seu computador para corresponder à confirmação mais recente no branch submetido ao check-out.

Quando seu trabalho no branch estiver pronto para ser compartilhado com o restante da equipe, você enviará por push as alterações a atualizar o branch remoto.

Um erro comum é fazer algumas alterações, fazer o commit delas, perceber que você está em um branch incorreto e, em seguida fazer checkout para o branch correto.

Suas alterações mais recentes não estarão mais no sistema de arquivos, pois cada branch tem sua própria versão do código.

O Git traz o estado dos arquivos de volta para o último commit no branch para o qual você alternou, não para o branch anterior no qual você fez as alterações.

Você precisará ou fazer cherry-pick dos commits do branch ou mesclar as alterações no branch correto.

Use branches para gerenciar o desenvolvimento

O Git controla em qual branch você está trabalhando e garante que, quando você faz checkout de algum branch, seus arquivos corresponderão à confirmação mais recente no branch.

Os branches permitem que você trabalhe com várias versões do código-fonte no mesmo Repositório do Git local ao mesmo tempo.

Informe ao Git em qual branch você deseja trabalhar com checkout, e o Git ficará encarregado da configuração das versões corretas dos arquivos desse branch.

Você não precisa de mais do que um repositório em seu sistema ao usar branches para isolar seu trabalho.

Configure seu ambiente de desenvolvimento uma vez depois de clonar. Em seguida, use os branches do Git para alternar entre o trabalho nos recursos e a correção de bugs.

Guia de instruções de ramificação

Saiba como concluir tarefas comuns ao trabalhar com branches.