Sobre filiais e políticas de filiais

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

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

  • Isolar o trabalho em andamento do trabalho concluído em sua filial principal
  • Garanta que as alterações sejam construídas antes que elas cheguem ao principal
  • Limitar quem pode contribuir para ramos específicos
  • Impor quem pode criar ramificações e as diretrizes de nomenclatura para as ramificações
  • Inclua automaticamente os revisores certos para cada alteração de código
  • Aplique as práticas recomendadas com os revisores de código necessários

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

Política

Predefinição

Descrição


Desativado

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

Desativado

Incentive a rastreabilidade verificando itens de trabalho vinculados em solicitações pull.

Desativado

Verifique se todos os comentários foram resolvidos em solicitações pull.

Desativado

Controle o histórico de ramificações limitando os tipos disponíveis de mesclagem quando as solicitações pull forem concluídas.

Desativado

Adicione uma ou mais políticas para validar o código pré-mesclando e criando alterações de solicitação pull. Também pode ativar ou desativar políticas.

Desativado

Adicione uma ou mais políticas para exigir que outros serviços publiquem o status bem-sucedido para concluir solicitações pull. Também pode ativar ou desativar políticas.

Desativado

Adicione uma ou mais políticas para designar revisores de código para incluir automaticamente quando solicitações pull alterarem determinadas áreas de código. Também pode ativar ou desativar políticas.

Adopt a Git branching strategy (Adotar uma estratégia de ramificação do Git)

Existem alguns ramos críticos em seu repositório que a equipe confia em estar sempre em boa forma, como seu main ramo.

Exigir solicitações pull para fazer quaisquer alterações nessas ramificações. Os desenvolvedores que enviarem alterações diretamente para as ramificações protegidas terão seus pushes rejeitados.

Mantenha sua estratégia de filial simples, construindo sua estratégia a partir destes três conceitos:

  1. Use ramificações de recursos para todos os novos recursos e correções de bugs.
  2. Mescle ramificações de recursos na ramificação principal usando solicitações pull.
  3. Mantenha uma filial principal atualizada e de alta qualidade.

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

Criar trabalho em ramificações

As ramificações do Git não são muito mais do que uma pequena referência que mantém um histórico exato de compromissos, por isso são baratas de criar.

Confirmar alterações em uma ramificação não afetará outras ramificações. Você pode compartilhar ramificações com outras pessoas sem ter que mesclar as alterações no projeto principal.

Você pode criar novas ramificações para isolar alterações para um recurso ou uma correção de bug de sua ramificação principal e outros trabalhos.

Como os ramos são leves, alternar entre ramos é rápido e fácil. O Git não cria várias cópias de sua fonte ao trabalhar com ramificações — ele usa as informações do histórico armazenadas em confirmações para recriar os arquivos em uma ramificação quando você começa a trabalhar nela.

Seu fluxo de trabalho do Git deve criar e usar ramificações 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 pull, funcionam através de ramificações.

Isolar o trabalho em ramificações torna simples alterar o que você está trabalhando alterando sua ramificação atual.

Como as ramificações do Git são criadas?

Você cria ramificações usando o branch comando. Branch cria uma referência no Git para a nova ramificação e um ponteiro de volta para a confirmação pai para que o Git possa manter um histórico de alterações à medida que você adiciona confirmações à ramificação.

Quando você está trabalhando com uma ramificação que outra pessoa compartilhou, o Git mantém um relacionamento de rastreamento upstream. O relacionamento associa a ramificação no repositório local com a ramificação correspondente no repositório remoto.

O rastreamento upstream simplifica a sincronização de alterações com outras pessoas usando push and pull.

Visual de uma ramificação principal no Git

Nesta captura de tela, você pode ver uma nova ramificação que foi criada a partir da ramificação principal. O trabalho continua em ambos os ramos e os compromissos são adicionados a ambos os ramos.

O Git sempre adiciona novos compromissos à filial local atual. Verifique em qual ramificação você está trabalhando antes de confirmar para não confirmar alterações na ramificação errada.

Troque entre ramificações locais usando o checkout comando. O Git alterará os arquivos em seu computador para corresponder à confirmação mais recente na ramificação com check-out.

Quando seu trabalho na ramificação estiver pronto para ser compartilhado com o resto da equipe, você envia as alterações para atualizar a ramificação remota.

Um erro comum é fazer algumas alterações e commit elas, perceber que você está em um ramo incorreto, então checkout para o ramo correto.

Suas alterações mais recentes não estarão mais no sistema de arquivos, já que cada ramificação tem sua própria versão de código.

O Git traz o estado dos arquivos de volta para a última confirmação na ramificação em que você trocou, não para a ramificação anterior em que você fez as alterações.

Você precisará escolher as confirmações da ramificação ou mesclar as alterações na ramificação correta.

Usar ramificações para gerenciar o desenvolvimento

O Git controla em qual ramificação você está trabalhando e garante que, quando você checkout ramifica, seus arquivos correspondam à confirmação mais recente na ramificação.

As ramificações permitem que você trabalhe com várias versões do código-fonte no mesmo repositório Git local ao mesmo tempo.

Diga ao Git em qual ramificação você deseja trabalhar e checkouto Git se encarrega de definir as versões de arquivo corretas para essa ramificação.

Você não precisa de mais de um repositório em seu sistema quando usa ramificações para isolar seu trabalho.

Configure seu ambiente de desenvolvimento uma vez após a clonagem. Em seguida, use ramificações do Git para alternar entre o trabalho de recursos e a correção de bugs.

Guias de procedimentos de ramificação

Saiba como concluir tarefas comuns ao trabalhar com filiais.