Sobre solicitação de pull
Uma pull request é uma proposta para mesclar as alterações de um branch em outro. Em uma pull request, os colaboradores podem revisar e discutir o conjunto de alterações proposto antes de integrá-las à base de código principal. As pull requests exibem as diferenças, ou comparações, entre o conteúdo no branch de origem e aquele no branch de destino.
Observação: ao trabalhar com solicitações de pull, lembre-se do seguinte:
- Se você estiver trabalhando no modelo de repositório compartilhado, recomendamos que você use um branch do tópico para a solicitação de pull. Embora você possa enviar pull requests de qualquer branch ou commit, com um branch de tópico, é possível fazer push de commits de acompanhamento caso seja preciso atualizar as alterações propostas.
- Tenha muito cuidado quando fizer push forçado de commits para um pull request. Faz push forçado das alterações no histórico do repositório e pode corromper o seu pull request. Se outros colaboradores fizerem o branch do projeto antes de um push forçado, este poderá substituir os commits nos quais os colaboradores basearam o seu trabalho.
É possível criar solicitações de pull no GitHub.com, com o GitHub Desktop, em GitHub Codespaces, no GitHub Mobile e por meio da CLI do GitHub.
Após inicialização de uma pull request, você verá uma página de revisão que mostra uma visão geral de alto nível das alterações entre seu branch (o branch de comparação) e o branch base do repositório. Você pode adicionar um resumo das alterações propostas, revisar as alterações feitas por commits, adicionar rótulos, marcos e destinatários e @mencionar colaboradores ou equipes individuais. Confira "Como criar uma solicitação de pull".
Depois que tiver criado uma pull request, você poderá fazer push dos commits do branch de tópico para adicioná-los à sua pull request existente. Esses commits aparecerão em ordem cronológica na pull request e as alterações estarão visíveis na guia "Files chenged" (Arquivos alterados).
Outros contribuidores podem revisar as alterações propostas, adicionar comentários de revisão, contribuir com a discussão da pull request e, até mesmo, adicionar commits à pull request. Por padrão, em repositórios públicos, qualquer usuário pode enviar análises que aprovem ou solicitem alterações em um pull request. Os proprietários da organização e os administradores de repositório podem limitar quem pode conceder revisões de solicitação de pull ou alterações de solicitação de aprovação. Para obter mais informações, confira "Gerenciando revisões de pull request na sua organização" e "Gerenciando avaliações de pull request no seu repositório."
Você poderá ver informações sobre o status de implantação atual do branch e a atividade da implantação anterior na guia "Conversa". Consulte "Exibir atividade de implantação no repositório".
Quando estiver satisfeito com as alterações propostas, você poderá fazer merge da pull request. Se você está trabalhando em um modelo de repositório compartilhado, você cria uma pull request e, você ou outra pessoa, fará a mesclagem de suas alterações do seu branch de recurso no branch base que você especificar na sua pull request. Confira "Mesclar uma solicitação de pull".
Se as verificações de status forem necessárias para um repositório, as verificações de status necessárias devem passar antes que você possa fazer merge do seu branch no branch protegido. Para obter mais informações, confira "Sobre branches protegidos".
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".
Dicas:
- Para alternar entre recolher e expandir todos os comentários de revisão desatualizados em uma solicitação de pull, mantenha pressionadas as teclas OpçãoAltAlt e clique em Mostrar desatualizados ou Ocultar desatualizados. Para obter mais atalhos, confira "Atalhos do teclado".
- Você pode combinar commits por squash ao fazer merge de uma pull request para obter uma exibição mais simplificada das alterações. Confira "Sobre merges de pull request".
É possível acessar seu painel a fim de encontrar rapidamente links para pull requests recentemente atualizadas nas quais você está trabalhando ou nas quais está inscrito. Confira "Sobre seu painel pessoal".
Solicitação de pull de rascunho
As pull requests de rascunho estão disponíveis em repositórios públicos com GitHub Free para organizações e planos de cobrança legados por repositório. As pull requests de rascunho também estão disponíveis em repositórios públicos e privados com GitHub Team, GitHub Enterprise Cloud e GitHub Enterprise Server. Para mais informações, confira "Planos do GitHub".
Ao criar uma pull request, você pode optar por criar uma que já está pronta para revisão ou uma pull request de rascunho. Não é possível fazer merge das pull requests, e os proprietários do código não são solicitados automaticamente a revisar pull requests de rascunho. Confira "Como criar uma solicitação de pull" e "Criando uma pull request a partir de uma bifurcação".
Quando você estiver pronto para receber feedback sobre seu pull request, você poderá marcar seu rascunho de pull request como pronto para revisão. Marcar um pull request como pronto para revisão irá solicitar revisões de qualquer proprietário de código. Você pode converter uma pull request em rascunho a qualquer momento. Confira "Alterar o stage de uma pull request".
Diferenças entre commits em páginas de comparação e pull request
As páginas de comparação e pull request usam métodos diferentes para calcular o diff para os arquivos alterados:
- As páginas de comparação mostram a diferença entre a ponta do ref principal e o ancestral comum atual (ou seja, a base de merge) do ref principal e de base.
- As páginas de pull request mostram a diferença entre a ponta do ref principal e o ancestral comum do ref principal e de base no momento em que o pull request foi criado. Consequentemente, a base de merge utilizada para a comparação pode ser diferente.
Leitura adicional
- "Glossário do GitHub" no glossário do GitHub
- "Sobre ramificações"
- "Fazer comentários em uma pull request"
- "Fechar uma pull request"