O que são solicitações pull do Git e como são usadas?

Conteúdo

Logotipo do Git

Solicitações pull são um recurso de serviços git online como Github e Gitlab. Eles possibilitam que qualquer pessoa solicite a adição de alterações, mesmo que eles não tenham acesso ao repositório. Vamos analisar como eles funcionam e como usá-los para colaboração de código aberto.

O que uma solicitação pull faz?

Apesar do que pode parecer, git como ferramenta, é um sistema totalmente descentralizado. O que isso significa é que o repositório em Github.com e o repositório em sua máquina local não são diferentes um do outro. Você não está se conectando para Github para trabalhar em um repositório, você está copiando o código a partir de Github em seu repositório local e trabalhando nele lá.

Quando você quer fazer mudanças, pode comprometer e executar git push, enviando suas atualizações para um “controlo remoto” Dados, que pode ser qualquer outro repositório Git, mas em geral é um serviço hospedado online como o Github, Bitbucket o Gitlab. Isso atualiza o repositório remoto para que esteja em sincronia com o seu repositório.

Apesar disto, isso só funciona quando você tem permissão para enviar confirmações, geralmente configurado com uma senha ou chave SSH. Isso só é concedido a membros da organização que controlam o repositório; caso contrário, todos poderiam alterar a história do git. Se você não é membro da organização, O que você deve fazer quando quiser fazer alterações?

Nós vamos, existe uma segunda maneira de atualizar um repositório git:git pull. Você provavelmente faz isso com frequência sempre que seus colegas de trabalho fazem alterações agressivas.. Nesse caso, você está baixando commits do repositório remoto e sincronizando-os com o seu repositório local.

Mas, Git é descentralizado, então realmente não há diferença entre o seu repositório e o repositório remoto. Você pode realmente correr git pull ao contrário, do servidor, e esta é a essência do que faz as solicitações pull funcionarem.

Uma solicitação pull serve apenas para você informar ao servidor remoto (e as pessoas que o mantêm) que você tem alguns commits atualizados que você estaria interessado em revisá-los e integrá-los ao repositório remoto. Se eles aceitarem as mudanças, o repositório remoto irá rodar git pull contra o seu repositório local, integrar o código sem ter que ter uma chave SSH autorizada para fazer isso.

A espinha dorsal da colaboração de código aberto

Solicitações pull são constantemente usadas para bibliotecas de código aberto. Depois de tudo, Grande parte do motivo do código aberto é que qualquer desenvolvedor pode contribuir para o projeto se seu código for útil.

Solicitações pull são o que fazem isso funcionar. Responsáveis ​​pela manutenção do projeto, os administradores que o controlam, são eles que revisam regularmente as solicitações pull e decidem se integram ou não o código, ou se certos erros precisam ser corrigidos antes de estar pronto.

Solicitações pull não são exatamente um recurso de git em si, então a implementação exata deles irá variar de acordo com o serviço. Mas, para Github, você encontrará solicitações de pull na barra de menu de um repositório, que exibe uma lista de solicitações abertas e fechadas que você pode filtrar por.

Se você clicar em qualquer um deles, você pode ver os comentários feitos pelo solicitante, bem como as confirmações associadas a ele.

Se você é responsável por manter o repositório, você pode revisar e mesclar a solicitação. O, se você tiver problemas com ele, você precisa discutir, você pode deixar um comentário e trabalhar juntos no código. Esse é um grande motivo pelo qual espaços públicos como o Github são ótimos para colaboração de código aberto., Mesmo algo tão simples como alterar o texto da documentação pode ser feito de forma colaborativa por qualquer pessoa.

As solicitações pull são diferentes dos problemas. O rastreamento de problemas é um recurso de muitos serviços como o Github que permite fácil correção de bugs e colaboração pública para novos recursos. Essencialmente, cada tópico tem um tópico que os mantenedores e a comunidade podem discutir. Como um exemplo, dotnet/csharplang é o repositório oficial para discussão sobre como o C é projetado # como uma linguagem de programação. Se você for aos tópicos, você encontrará muitas pessoas discutindo conceitos para futuras iterações da linguagem:

Nem todos os problemas levam a solicitações de pull. Se o gerente de manutenção corrigir o problema, não importa. Se um colaborador resolver o problema, você precisará enviar uma solicitação de pull.

Todas as solicitações pull são rejeitadas ou levam diretamente a alterações de código no repositório. Os problemas são apenas uma maneira de rastrear o progresso do desenvolvimento e quais bugs precisam ser corrigidos.

Fazer solicitações de pull

Novamente, as etapas exatas para isso irão variar dependendo do serviço que você está usando, mas a maioria das colaborações de código aberto acontecem no Github, então vamos mostrar os passos para isso.

Vá para o repositório que você deseja fazer uma solicitação e clique “Novo pedido de extração” na guia Pedidos de puxar:

Você tem duas opções aqui. Se você é um membro do repositório e deseja mesclar seu branch de recursos no branch master, você pode escolher os dois ramos.

Se você estiver trabalhando em um repositório de código aberto, você precisará bifurcar o repositório e enviá-lo ao Github com sua própria conta. Depois de, Você pode escolher “comparar entre ramos” para mesclar seu ramo mestre em seu ramo mestre.

Depois que isso for feito, a solicitação pull estará aberta para discussão, e você simplesmente terá que esperar para ouvir os mantenedores.

Entretanto, você pode verificar o status de todas as solicitações de puxar que você está envolvido com a guia “Pedidos de puxar” na barra principal de cabeçalho.

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.