O que são pedidos Pull?

Concluído

Começamos por:

  • Revisão de filiais e sua importância para puxar solicitações.
  • Definir o que é um pull request.
  • Aprender a criar um pull request, revisar os status do pull request e mesclar um pull request.

Ramos

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

As ramificações são espaços de trabalho isolados onde você pode desenvolver seu trabalho sem afetar outras pessoas no repositório. Eles permitem que você desenvolva recursos, corrija bugs e experimente com segurança novas ideias em uma área contida do seu repositório.

Desenvolvedores trabalhando em filiais independentes é um conceito comum no desenvolvimento de software moderno. Ao ter sua própria filial, um desenvolvedor pode fazer quaisquer alterações, chamadas commits, sem se preocupar em como suas confirmações afetam outros desenvolvedores que trabalham em suas próprias ramificações.

Intercalar ramos

Embora ter cada desenvolvedor trabalhando em um ramo separado seja ótimo para a produtividade individual, isso abre um novo desafio. Em algum momento, a ramificação de cada desenvolvedor precisa ser mesclada em uma ramificação comum, como main. À medida que os projetos escalam, pode haver muitas fusões que precisam acontecer, e torna-se cada vez mais importante acompanhar e revisar cada fusão. A necessidade de acompanhar várias alterações em um projeto é onde as solicitações pull entram.

O que é um pedido Pull?

Uma solicitação pull é uma maneira de documentar alterações de 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 solicitações pull permitem que as partes interessadas analisem e discutam as alterações propostas para garantir que a qualidade do código na ramificação base seja mantida o mais alta possível.

Uma solicitação pull compara as alterações entre duas ramificações:

  • A ramificação de comparação é a própria ramificação do desenvolvedor, que contém as alterações específicas feitas.
  • A ramificação de base , também referida como a ramificação principal , é a ramificação na qual as alterações precisam ser fundidas.

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

Criar um pedido Pull

Agora vamos rever como criar um pull request!

  1. No 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 mostrando como criar uma nova ramificação e nomeá-la.

  3. Acima da lista de arquivos, no banner amarelo, selecione o botão Comparar & pull request para criar uma solicitação pull para a ramificação associada.

    Captura de ecrã de uma caixa de texto amarela, realçando o botão verde de comparação e pedido de puxar.

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

  5. Insira um título e uma descrição para o seu pull request.

  6. Para criar uma solicitação pull pronta para revisão, selecione o botão Create Pull Request . Para criar uma solicitação pull de rascunho, selecione a lista suspensa e selecione Create Draft Pull Request e, em seguida, selecione Draft Pull Request.

Status da solicitação pull

Agora vamos analisar os diferentes status de uma solicitação pull.

  • Solicitação pull de rascunho - Ao criar uma solicitação pull, você pode optar por criar uma solicitação pull pronta para revisão ou uma solicitação pull de rascunho . Uma solicitação pull com um status de rascunho não pode ser mesclada e os proprietários de código não são solicitados automaticamente a revisar solicitações pull de rascunho.

  • Solicitação pull aberta - Um status aberto significa que a solicitação pull está ativa e ainda não foi mesclada à ramificação base. Você ainda pode fazer confirmações e discutir e revisar possíveis alterações com os colaboradores.

  • Solicitação pull fechada - Você pode optar por fechar uma solicitação pull sem mesclá-la na ramificação base/principal. Esta opção é útil se as alterações propostas na sucursal deixarem de ser necessárias ou se for proposta outra solução noutra sucursal.

  • Solicitação pull mesclada - O status da solicitação pull mesclada significa que as atualizações e confirmações da ramificação de comparação foram combinadas com a ramificação base. Qualquer pessoa com acesso por push ao repositório pode concluir a mesclagem.

Mesclar uma solicitação pull

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

    Captura de ecrã da barra de navegação superior de um repositório com o separador Pull request realçado.

  2. Na lista Solicitações pull, selecione a solicitação pull que você deseja mesclar.

  3. Role para baixo até a parte inferior da solicitação pull. Dependendo das opções de mesclagem habilitadas para seu repositório, você pode:

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

      Captura de tela do menu suspenso do botão verde de solicitação de recebimento de mesclagem com a opção Criar uma confirmação de mesclagem selecionada.

    • Squash e mesclar permite que você pegue todos os seus compromissos e combine-os em um. Essa opção ajuda a manter o histórico do repositório mais legível e organizado. Selecione a opção Squash e mesclagem e, em seguida, selecione o botão Squash e mesclagem .

    • A opção Rebasear e mesclar permite que você faça confirmações sem uma confirmação de mesclagem. Isso mantém um histórico de projeto linear. Selecione o menu suspenso de mesclagem, escolha a opção Rebasear e mesclar e, em seguida, selecione o botão Rebasear 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 e-mail associado à sua conta no GitHub.com, selecione o menu suspenso de endereço de e-mail e selecione o endereço de e-mail a ser usado como o endereço de e-mail do autor do Git. Apenas os endereços de e-mail verificados aparecem neste menu pendente. Se você ativou a privacidade do endereço de e-mail, um e-mail do GitHub sem resposta será usado como o endereço de e-mail padrão do autor da confirmação.

    Captura de tela de uma alteração de confirmação com uma caixa de descrição e o menu suspenso do e-mail para selecionar como o autor da confirmação.

  6. Selecione Confirmar mesclagem, Confirmar squash e mesclagem ou Confirmar rebase e mesclagem.

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

Opções avançadas de pull request

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

Solicitando revisores

Você pode solicitar a colaboradores específicos que analisem sua solicitação 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 fusão.

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

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

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

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

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

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

Essas regras geralmente são configuradas pelos administradores do repositório nas configurações de proteção de ramificação.

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

Se o repositório usar o GitHub Actions ou outro sistema de CI, as solicitações 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 do código
  • Verificação de verificações de segurança

As solicitações pull geralmente devem passar por todas as verificações de status necessárias antes de poderem ser mescladas na ramificação base. As verificações com falha são mostradas diretamente na página de solicitação pull.

Guardar repositórios com estrelas

Quando você encontrar um repositório que gostaria de revisitar facilmente mais tarde, poderá marcá-lo no GitHub. Estrelar um repositório salva-o em sua lista pessoal de favoritos e mostra seu apreço aos mantenedores do repositório.

Para estrelar 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 .

Pode ver todos os repositórios que protagonizou selecionando a sua foto de perfil e, em seguida, as suas estrelas.

Atalhos de teclado

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

Para visualizar todos os atalhos disponíveis:

  • Pressione ? em qualquer lugar no GitHub.com.

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

Usando a paleta de comandos

A Paleta de Comandos no GitHub ajuda você a saltar 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 pull request", "Ver problemas" ou "Alternar ramificação" para ir instantaneamente onde precisar.

Aplique o que aprendeu

Em seguida, você conclui um exercício que pega o que você revisou e o aplica a um exemplo da vida real.