Skip to main content

Como criar uma solicitação de pull

Crie uma solicitação de pull para propor e colaborar em alterações em um repositório. Essas alterações são propostas em um branch, que garante que o branch-padrão só contenha trabalho concluído e aprovado.

Quem pode usar esse recurso?

Anyone with read access to a repository can create a pull request.

Platform navigation

Caso deseje criar um novo branch para seu pull request e não tenha permissões de gravação no repositório, você pode bifurcar o repositório primeiro. Para saber mais, confira Criando uma pull request a partir de uma bifurcação e Sobre bifurcações.

É possível especificar em qual branch você deseja fazer merge de suas alterações quando cria sua pull request. As pull requests só podem ser abertas entre dois branches que são diferentes.

Note

Para abrir uma pull request em um repositório público, você precisa ter acesso de gravação no branch principal ou de origem ou, para repositórios pertencentes à organização, você precisa ser membro da organização que é o proprietário do repositório para abrir uma pull request.

Você pode vincular uma solicitação de pull a um problema para mostrar que uma correção está em andamento e para fechar automaticamente o problema quando alguém mesclar a solicitação de pull. Para obter mais informações, confira "Vinculando uma pull request a um problema".

Alterar o intervalo de branches e o repositório de destino

Por padrão, as pull requests são baseadas no branch padrão do repositório principal. Para saber mais, confira Sobre ramificações.

Se o repositório principal padrão não estiver correto, você poderá alterar o repositório principal e o branch com as listas suspensas. Também é possível trocar o head e os branches base com as listas suspensas para estabelecer diffs entre pontos de referência. As referências aqui devem ser nomes de branch no seu repositório do GitHub.

Captura de tela de uma solicitação de pull. O menu suspenso usado para editar o branch de comparação é expandido.

Ao pensar nos branches, lembre-se de que o branch base é o local em que as alterações devem ser aplicadas e o branch principal contém o que você deseja aplicar.

Quando você muda o repositório base, também muda as notificações para a pull request. Cada indivíduo que puder fazer push no repositório base receberá uma notificações de e-mail e verá a nova pull request no respectivo painel na próxima vez que se conectar.

Quando você muda qualquer uma das informações no intervalo de branches, as áreas de visualização de commit e arquivos alterados são atualizadas para mostrar o novo intervalo.

Tip

  • Usando a exibição de comparação, é possível configurar comparações entre períodos. Para saber mais, confira Comparar commits.
  • Os mantenedores de projeto podem adicionar um modelo de pull request para um repositório. Os modelos incluem solicitações de informações no texto de uma pull request. Para saber mais, confira Sobre modelos de problema e pull request.

Criar a pull request

  1. Em GitHub, acesse a página principal do repositório.

  2. No menu "Branch", escolha o branch que contém seus commits.

    Captura de tela do menu suspenso do branch na página principal de um repositório.

  3. Acima da lista de arquivos, na faixa amarela, clique em Comparação e solicitação de pull para criar uma solicitação de pull para o branch associado.

    Captura de tela da faixa acima da lista de arquivos.

  4. Use o menu suspenso do branch base para selecionar o branch no qual deseja mesclar as alterações e use o menu suspenso do branch de comparação para escolher o branch do tópico no qual você fez as alterações.

  5. Digite um título e uma descrição para a pull request.

  6. Para criar uma solicitação de pull pronta para revisão, clique em Criar Solicitação de Pull. Para criar uma solicitação de pull de rascunho, use o manu suspenso, selecione Criar Solicitação de Pull de Rascunho e clique em Solicitação de Pull de Rascunho. Se você for membro de uma organização, talvez seja necessário solicitar acesso a pull requests de rascunho a um proprietário da organização. Confira "Sobre solicitação de pull".

Tip

Depois de criar uma pull request, solicite a uma pessoa específica que revise suas alterações propostas. Para obter mais informações, confira "Solicitar revisão de pull request".

Depois que a sua solicitação de pull for revisada, ela poderá ser mesclada no repositório.

Note

Para saber mais sobre GitHub CLI, confira "Sobre o a CLI do GitHub".

Para criar uma solicitação de pull, use o subcomando gh pr create.

gh pr create

Para atribuir uma solicitação de pull a uma pessoa, use o sinalizador --assignee ou -a. Você pode usar @me para atribuir a solicitação de pull automaticamente.

gh pr create --assignee "@octocat"

Para especificar o branch no qual deseja mesclar a solicitação de pull, use o sinalizador --base ou -B. Para especificar o branch que contém os commits da sua solicitação de pull, use o sinalizador --head ou -H.

gh pr create --base my-base-branch --head my-changed-branch

Para incluir um título e um corpo na nova solicitação de pull, use o sinalizador --title ou --body.

gh pr create --title "The bug is fixed" --body "Everything works again"

Para marcar uma solicitação de pull como um rascunho, use o sinalizador --draft.

gh pr create --draft

Para adicionar rótulos ou marcos à nova pull request, use os sinalizadores --label e --milestone.

gh pr create --label "bug,help wanted" --milestone octocat-milestone

Para adicionar a nova solicitação de pull a um projeto específico, use o sinalizador --project.

gh pr create --project octocat-project

Para atribuir uma pessoa ou uma equipe como revisor, use o sinalizador --reviewer.

gh pr create --reviewer monalisa,hubot --reviewer myorg/team-name

Para criar a solicitação de pull no navegador da Web padrão, use o sinalizador --web.

gh pr create --web
  1. Clique em Pré-Visualizar Solicitação de Pull. O GitHub Desktop abrirá uma caixa de diálogo de visualização que mostra a comparação das alterações entre o branch atual e o branch base.

    Captura de tela da exibição "Sem alterações locais". Um botão rotulado "Pré-visualizar a Solicitação de Pull" é realçado com um contorno laranja.

    Captura de tela da exibição "Sem alterações locais". Um botão rotulado "Pré-visualizar a Solicitação de Pull" é realçado com um contorno laranja.

    Como alternativa, para ir diretamente para o GitHub e criar sua solicitação de pull, selecione o ícone suspenso e clique em Criar Solicitação de Pull.

  2. Confirme se o branch no menu suspenso base: é o branch em que deseja mesclar as alterações.

    Captura de tela da janela de diálogo "Abrir uma Solicitação de Pull". Um botão com um ícone suspenso, rotulado "base: desenvolvimento", está contornado em laranja.

    O GitHub Desktop informará se o branch atual pode ser mesclado automaticamente com o branch base.

    Captura de tela da janela de diálogo "Abrir uma Solicitação de Pull". Um rótulo de status informando "Não é possível fazer a mesclagem automaticamente" está realçado com um contorno em laranja.

  3. Clique em Criar Solicitação de Pull. GitHub Desktop abrirá o seu navegador-padrão para levar você a GitHub.

  4. Digite um título e uma descrição para a pull request.

  5. Para criar uma solicitação de pull pronta para revisão, clique em Criar Solicitação de Pull. Para criar uma solicitação de pull de rascunho, use o manu suspenso, selecione Criar Solicitação de Pull de Rascunho e clique em Solicitação de Pull de Rascunho. Se você for membro de uma organização, talvez seja necessário solicitar acesso a pull requests de rascunho a um proprietário da organização. Confira "Sobre solicitação de pull".

  1. Depois de fazer commit das alterações na cópia local do repositório, clique no ícone Criar Solicitação de Pull.
    Captura de tela da parte superior da barra lateral "Controle do código-fonte". O ícone de solicitação de pull é realçado com um contorno laranja escuro.
  2. Verifique se o branch local e o repositório do qual você está fazendo merge, o branch remoto e o repositório no qual você está fazendo merge estão corretos. Em seguida, dê ao pull request um título e uma descrição.
    Captura de tela da barra lateral "GitHub Solicitação de Pull" com um formulário para criar uma solicitação de pull, incluindo os campos "Título" e "Descrição".
  3. Clique em Criar.

Para obter mais informações sobre como criar pull requests no GitHub Codespaces, confira Como usar o GitHub Codespaces em solicitações de pull.

Como fazer alterações em arquivos na pull request

Depois de abrir a pull request, você pode continuar fazendo alterações nos arquivos adicionando novos commits ao branch head.

Você também pode fazer alterações em arquivos no site do GitHub.

  1. No GitHub, navegue até uma pull request em um repositório.

  2. Na solicitação de pull, clique em Arquivos alterados.

    Captura de tela das guias de uma solicitação de pull. A guia "Arquivos alterados" está contornada em laranja escuro.

  3. Role a página para baixo até o arquivo no qual deseja fazer alterações.

  4. Acima do arquivo que deseja alterar, selecione .

    Captura de tela das opções acima de um arquivo na guia “Arquivo alterado”. O botão “Mostrar opções” está realçado com um retângulo laranja.

  5. No menu, selecione Editar arquivo.

  6. Faça as alterações no editor e, ao fazer commit da alteração, escolha fazer commit diretamente de volta no branch head.

Se você fizer parte da versão prévia pública do Copilot Workspace, a seleção de Editar em um arquivo na guia “Arquivos alterados” abrirá o arquivo em um Copilot Workspace no GitHub. Em um Copilot Workspace, você ainda pode fazer alterações no arquivo, mas também fazer alterações em outros arquivos no repositório, agrupar as alterações em um só commit e aproveitar o preenchimento do código do Copilot.

Você pode acessar o Copilot Workspace optando por editar um arquivo individual ou selecionando Abrir no Workspace na barra lateral direita da pull request. Para obter mais informações sobre o Copilot Workspace e como ingressar na versão prévia pública, confira Como usar o Copilot para facilitar seu trabalho em uma pull request.

Leitura adicional