O que são solicitações de pull?

Concluído

Começamos por:

  • Examinar as ramificações e sua importância para as pull requests.
  • Definição do que será uma pull request.
  • Aprendendo a criar uma pull request, revisar os status da pull request e mesclar uma pull request.

Ramificações

Primeiro, vamos definir o que são ramificações, por que elas são importantes para os desenvolvedores e como estão relacionadas a pull requests.

As ramificações são espaços de trabalho isolados em que você pode desenvolver seu trabalho sem afetar os outros no repositório. Elas permitem desenvolver recursos, corrigir bugs e experimentar com segurança novas ideias em uma área contida do seu repositório.

Os desenvolvedores que trabalham em ramificações independentes são um conceito comum no desenvolvimento moderno de software. Por ter sua própria ramificação, um desenvolvedor pode fazer todas as alterações, chamadas commits, sem se preocupar com o impacto de suas confirmações sobre outros desenvolvedores que trabalham em suas próprias ramificações.

Mesclando branches

Embora o fato de cada desenvolvedor trabalhar em uma ramificação separada seja ótimo para a produtividade individual, isso abre um novo desafio. Em algum momento, a ramificação de cada desenvolvedor precisará ser mesclada em uma ramificação comum, como main. À medida que os projetos escalam, podem existir muitas mesclagem que precisam ser feitas, e torna-se cada vez mais importante acompanhar e fazer a revisão de cada mescla. A necessidade de acompanhar várias alterações em um projeto é o ponto em que as pull requests entram em cena.

O que é uma solicitação de pull?

Uma pull request é uma forma de documentar as alterações na ramificação e comunicar que as alterações da ramificação do desenvolvedor estão prontas para serem mescladas na ramificação base (principal). As pull requests permitem que os stakeholders revisem e discutam as alterações propostas para garantir que a qualidade do código na ramificação de base seja mantida a mais alta possível.

Uma solicitação de pull compara as alterações entre dois branches:

  • A ramificação comparar é a ramificação do próprio desenvolvedor, que contém as alterações específicas que ele fez.
  • A ramificação base, também referenciada como a ramificação principal, é a ramificação na qual as alterações precisam ser mescladas.

Ao iniciar uma solicitação de pull, o GitHub mostra automaticamente o modo de exibição de comparação de ramificação.

Crie uma solicitação de pull

Agora vamos fazer a revisão de como criar uma pull request!

  1. Em GitHub.com, navegue até a página principal do repositório.

  2. No menu Ramificação, selecione a ramificação que contém suas confirmações.

    Captura de tela da criação e atribuição de um nome de um novo branch.

  3. Acima da lista de arquivos, na faixa amarela, selecione o botão Comparar e solicitação por pull para criar uma solicitação por pull para a ramificação associada.

    Captura de tela de uma caixa de texto amarela, realçando o botão de comparação e pull request verde.

  4. No menu suspenso ramificação base, selecione a ramificação na qual deseja mesclar suas alterações. Em seguida, selecione o menu suspenso ramificação comparar para selecionar o branch em que fez as alterações.

  5. Insira um título e uma descrição para sua solicitação de pull.

  6. Para criar uma pull request que esteja pronta para revisão, selecione o botão Criar Pull Request. Para criar um rascunho de pull request, selecione a lista suspensa e selecione Criar rascunho da pull request e, em seguida, selecione Rascunho da pull request.

Status das pull requests

Agora vamos fazer a revisão dos diferentes status de uma pull request.

  • Rascunho da pull request: quando você cria uma pull request, pode optar por criar uma pull request que esteja pronta para revisão ou um rascunho da pull request. Uma pull request com status de rascunho não pode ser mesclada, e os proprietários de código não são automaticamente solicitados a fazer a revisão da pull requests de rascunho.

  • Pull request aberta: um status aberto significa que a pull request está ativo e ainda não foi mesclada à ramificação base. Você ainda pode fazer confirmações, discutir e revisar potenciais alterações com os colaboradores.

  • Pull request fechada: você pode optar por fechar uma pull request sem mesclá-la à ramificação base/principal. Essa opção será útil se as alterações propostas no branch não forem mais necessárias ou se outra solução for proposta em outro branch.

  • Pull request mesclada: o status de mesclado da pull request significa que as atualizações e confirmações da ramificação de comparação foram combinadas com a ramificação de base. Qualquer pessoa com acesso push no repositório pode completar o merge.

Mesclar uma solicitação de pull

  1. No o nome do seu repositório, selecione Pull requests.

    Captura de tela da barra de navegação superior de um repositório com a guia Pull request realçada.

  2. Na lista Pull Requests, selecione a pull request que você gostaria de mesclar.

  3. Role a página até o final da solicitação de pull. Dependendo das opções de merge habilitadas em seu repositório, é possível:

    • Mescle todas as confirmações na ramificação base selecionando o botão Mesclar pull request. Se a opção Mesclar pull request não for mostrada, selecione o menu suspenso de mesclagem, escolha a opção Criar uma confirmação de mesclagem e, em seguida, selecione o botão Criar uma confirmação de mesclagem.

      Captura de tela do menu suspenso do botão de combinação e pull request verde com Criar uma confirmação de mesclagem selecionada.

    • Compactar e mesclar permite que você pegue todas as suas confirmações e as combine em uma só. Essa opção ajuda a manter o histórico do repositório mais legível e organizado. Selecione a opção Compactar e mesclar e, em seguida, selecione o botão Compactar e mesclar.

    • A opção Trocar base e mesclar permite que você faça confirmações sem um commit de mesclagem. Isso mantém um histórico de projeto linear. Selecione o menu suspenso Mesclar, depois selecione a opção Trocar base e mesclar e, em seguida, escolha o botão Trocar base e mesclar.

  4. Se solicitado, insira uma mensagem de confirmação ou aceite a mensagem padrão.

  5. Se você tiver mais de um endereço de email associado à sua conta de email em GitHub.com, selecione o menu suspenso de endereço de email e selecione o endereço de email a ser usado como endereço de email do autor do Git. Somente os endereços de email verificados aparecem nesse menu suspenso. Se você habilitou a privacidade do endereço de email, um email do GitHub sem resposta será usado como o endereço de email do autor de confirmação padrão.

    Captura de uma alteração da confirmação com uma caixa de descrição e o menu suspenso do email a ser selecionado como autor da confirmação.

  6. Selecione Confirmar mesclar, Confirmar compactar e mesclar ou Confirmar trocar base e mesclar.

  7. Opcionalmente, você pode excluir a ramificação de comparação para manter organizada a lista de ramificações no seu repositório.

Opções avançadas de solicitação de pull

Além de criar e mesclar solicitações de pull, há algumas opções avançadas que ajudam as equipes a manter o código de alta qualidade.

Solicitando revisores

Você pode solicitar colaboradores específicos para examinar sua solicitação de pull. Somente colaboradores com acesso de gravação ao repositório podem ser selecionados como revisores. Isso ajuda a garantir que suas alterações sejam revisadas pelas pessoas certas antes da mesclagem.

  1. Ao criar ou exibir uma solicitação de pull, localize a seção Revisores na barra lateral direita.
  2. Pesquise e selecione os nomes de usuário do GitHub de colaboradores que têm acesso de gravação ao repositório.
  3. Os revisores selecionados receberão uma notificação para revisar sua solicitação de pull.

Revisões necessárias e regras de proteção de branch

Alguns repositórios usam regras de proteção de ramificação que exigem solicitações de pull para atender a determinadas condições antes que elas possam ser mescladas. Os requisitos comuns incluem:

  • Pelo menos uma revisão de aprovação de outro colaborador.
  • Passando todas as verificações de status necessárias, como fluxos de trabalho de CI (integração contínua).

Se uma solicitação de pull não atender a esses requisitos, o botão de mesclagem será desabilitado até que todas as condições sejam atendidas.

Você pode ver as regras necessárias para um repositório na parte inferior da página de solicitação de pull, na seção Mesclagem.

Normalmente, essas regras são configuradas por administradores de repositório nas configurações de proteção de branch.

Verificações de status e CI (integração contínua)

Se o repositório usar o GitHub Actions ou outro sistema de CI, as solicitações de pull poderão executar automaticamente verificações de status quando forem feitas alterações. Os exemplos incluem:

  • Executando testes de unidade
  • Verificando a formatação de código
  • Verificando verificações de segurança

As solicitações de pull geralmente devem passar todas as verificações de status necessárias para que possam ser mescladas no branch base. As verificações com falha são mostradas diretamente na página de solicitação de pull.

Salvando repositórios com estrelas

Quando você encontrar um repositório que gostaria de revisitar facilmente mais tarde, poderá encadeá-lo no GitHub. Protagonizar um repositório salva-o em sua lista pessoal de favoritos e mostra sua apreciação para os mantenedores do repositório.

Para exibir um repositório:

  1. Navegue até a página do repositório em GitHub.com.
  2. No canto superior direito, selecione o ⭐ botão Estrela .

Você pode exibir todos os repositórios que você estrelou selecionando sua imagem de perfil e, em seguida, Suas estrelas.

Atalhos do teclado

O GitHub oferece muitos atalhos de teclado para ajudá-lo a se mover mais rapidamente pelo seu trabalho.

Para exibir todos os atalhos disponíveis:

  • Pressione ? qualquer lugar no GitHub.com.

Você verá uma lista de atalhos para navegar em problemas, solicitações de pull, repositórios e muito mais.

Usando a paleta de comandos

A Paleta de Comandos no GitHub ajuda você a ir rapidamente para páginas, executar ações comuns ou pesquisar repositórios sem tirar as mãos do teclado.

Para abrir a paleta de comandos:

  • Pressione Ctrl+K (Windows/Linux) ou ⌘+K (Mac).

Você pode começar a digitar ações como "Criar solicitação de pull", "Exibir problemas" ou "Alternar branch" para ir imediatamente onde precisar.

Aplicar o que você aprendeu

Em seguida, você concluirá um exercício que utiliza o que foi revisado e o aplicará a um exemplo da vida real.