Skip to main content

Implantando código

Valide as verificações de pré-implantação, escolha estratégias de mesclagem e gerencie as ramificações com eficiência ao fazer a implantação do código.

A etapa final de um pull request é colocar o trabalho concluído no branch de implantação. Isso geralmente significa mesclar suas alterações na versão ou branch principal. Antes que isso aconteça, você precisará confirmar se a alteração atende aos requisitos do projeto.

Validando as verificações de pré-implantação

Antes de mesclar, você confirmará que a alteração é segura para implantar. As verificações de status mostram se as confirmações atendem às condições definidas para o repositório, como builds de integração contínua, testes, verificação de código ou verificações de implantação. Eles ajudam você e os revisores a entender se uma solicitação de pull está pronta para mesclar.

Os repositórios geralmente exigem determinadas condições antes que uma solicitação de pull possa se mesclar, incluindo:

  • Verificações de status obrigatórias que precisam passar, como verificações de integridade e de prontidão do aplicativo executadas pelo seu pipeline de implantação.
  • Revisões necessárias ou aprovações do proprietário do código.
  • Conflitos de mesclagem devem ser resolvidos.

As ramificações protegidas impõem esses requisitos para que as ramificações de implantação permaneçam estáveis.

Nem todas as verificações são iguais. Verificações avançadas criadas por produtos como GitHub Actions podem relatar logs detalhados e anotações, enquanto status de confirmação mais simples podem ser postados por uma variedade de sistemas conectados. Entender isso ajuda você a interpretar por que uma solicitação de pull está ou não pronta.

Mesclando código no branch de release ou no branch principal

Quando os requisitos são atendidos, você mescla a solicitação de pull para colocar suas confirmações no branch base. Você também pode automatizar a mesclagem para que uma solicitação de pull seja mesclada assim que seus requisitos forem atendidos. Pull requests oferecem diferentes estratégias de mesclagem, dependendo de como você deseja que o histórico do repositório fique:

  • A confirmação de mesclagem preserva cada confirmação do branch de solicitação de pull e adiciona um ponto de mesclagem explícito.
  • Squash and merge combina todos os commits em um único commit para manter um histórico conciso.
  • A rebase e a mesclagem adicionam cada confirmação ao branch base para um histórico linear sem uma confirmação de mesclagem.

A melhor estratégia depende de quantos detalhes sua equipe deseja preservar.

Impor requisitos em escala

À medida que a mesclagem fica mais movimentada, as equipes adicionam controles para manter as mesclagens seguras e previsíveis:

  • Conjuntos de regras e proteções de ramificação podem exigir uma ramificação atualizada, commits assinados, histórico linear ou verificações de status específicas antes de mesclar.
  • Uma fila de mesclagem permite que um branch protegido com muito tráfego aceite várias pull requests sem quebrar. Ele testa cada um em relação à versão mais recente do branch base e mescla-os na ordem após a verificação ser aprovada. Quando um branch usa uma fila de mesclagem, as opções de mesclagem disponíveis diferem de uma mesclagem padrão.

Observação

As filas de mesclagem de solicitação de pull estão disponíveis em qualquer repositório público pertencente a uma organização ou em repositórios privados pertencentes a organizações que usam GitHub Enterprise Cloud. Consulte Planos do GitHub.

Vinculando mesclagens à implantação

A mesclagem geralmente é o gatilho que envia código. GitHub Actions pode executar fluxos de trabalho de implantação quando uma solicitação de pull se mescla em uma versão ou branch principal. Os ambientes de implantação adicionam outra camada de segurança de pré-implantação: você pode exigir revisores específicos, temporizadores de espera ou restrições de ramificação antes que uma implantação prossiga e elas sejam exibidas junto com suas outras verificações.

Recuperando após uma mesclagem

Mesmo com as verificações em vigor, algumas mesclagens precisam ser desfeitas. Você pode reverter uma solicitação de pull mesclada para criar uma nova solicitação de pull que reverta as alterações. Lembre-se de que uma solicitação de pull pode ser marcada como mesclada indiretamente em raras ocasiões, se suas confirmações chegarem ao branch base por meio de outro caminho. Isso pode ignorar as proteções nessa solicitação de pull específica. Confira Reverter uma pull request e Mesclagens de solicitação de pull.

Fechando pull requests que não serão mescladas

Nem todas as solicitações de pull devem se mesclar. Se uma alteração não for mais necessária ou for substituída por outro trabalho, você poderá fechar a solicitação de pull sem mesclá-la. Encerrar mantém a discussão e o histórico para referência, ao mesmo tempo que sinaliza que a mudança não seguirá adiante.

Depois que uma solicitação de pull é mesclada ou fechada, sua ramificação principal geralmente não é mais necessária. Excluir ramificações não utilizadas mantém o repositório mais fácil de navegar.

Leitura adicional