O que são solicitações de pull do Git e como usá-las?
Pull Requests são um recurso de serviços git online como Github e Gitlab. Eles permitem que qualquer pessoa solicite a adição de alterações, mesmo que não tenha acesso ao repositório. Discutiremos como eles funcionam e como usá-los para colaboração de código aberto.
O que uma solicitação pull faz?
Apesar de como possa parecer, o git como ferramenta é um sistema completamente 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 ao Github para trabalhar em um repositório, você está copiando o código do Github para o seu repositório local e trabalhando nele.
Quando você deseja enviar alterações, você pode fazer commits e executar git push, enviando suas atualizações para um determinado “ remoto, ” que pode ser qualquer outro repositório Git, mas geralmente é um serviço hospedado online como Github, Bitbucket ou Gitlab. Isso atualiza o repositório remoto para estar em sincronia com o seu repo.
No entanto, isso só funciona quando você tem permissão para enviar commits, geralmente configurados com uma senha ou chave SSH. Isso é fornecido apenas para membros da organização no controle do repo, caso contrário, todos podem alterar o histórico do Git. Se você não for membro da organização, o que deve fazer quando quiser fazer alterações?
Bem, há uma segunda maneira de um repositório Git ser atualizado — git pull. Você provavelmente faz isso com frequência sempre que seus colegas de trabalho fazem alterações que são enviadas por push. Nesse caso, você está baixando os commits do repositório remoto e sincronizando-os com o seu repositório local.
Publicidade
Mas, Git é descentralizado, então não há realmente nenhuma diferença entre o seu repo e o repo remoto. Na verdade, você pode executar git pull ao contrário, a partir do servidor, e isso é o que faz com que as solicitações de pull funcionem.
Uma solicitação pull é apenas você dizendo ao servidor remoto (e às pessoas que o mantêm) que você tem alguns commits atualizados que gostaria que eles examinassem e se integrassem ao repositório remoto. Se eles aceitarem as alterações, o repo remoto executará git pull em seu repositório local, integrando o código sem que você precise ter uma chave SSH autorizada para fazer isso.
A espinha dorsal da colaboração de código aberto
Solicitações pull são usadas constantemente para bibliotecas de código aberto. Afinal, 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. Os mantenedores do projeto, os administradores que o controlam, são os que normalmente analisam as solicitações pull e decidem se integram ou não o código ou se certos bugs precisam ser corrigidos antes de estar pronto.
As solicitações pull não são exatamente um recurso do git em si, então a implementação exata delas irá variar dependendo do serviço. Mas, para o Github, você encontrará solicitações pull na barra de menu de um repositório, que mostra uma lista de solicitações abertas e fechadas que você pode filtrar.
Se você clicar em qualquer um deles, poderá ver os comentários feitos pelo solicitante, bem como os commits associados a ele.
Publicidade
Se você é o mantenedor do repositório, pode revisar e mesclar a solicitação. Ou, se você tiver problemas que precise discutir, deixe um comentário e trabalhe no código juntos. Este é 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 problema tem um tópico que pode ser discutido pelos mantenedores e pela comunidade. Por exemplo, dotnet / csharplang é o repositório oficial para discussão sobre como o C # como linguagem de programação é projetado. Se você for aos problemas, encontrará muitas pessoas discutindo conceitos para futuras iterações da linguagem:
Nem todos os problemas levam a solicitações pull. Se o problema for corrigido pelo mantenedor, não fará diferença. Se o problema for corrigido por um colaborador, ele precisará enviar uma solicitação pull.
Todas as solicitações pull são negadas ou levam diretamente a alterações de código no repositório. Os problemas são apenas uma forma de rastrear o progresso do desenvolvimento e quais bugs precisam ser corrigidos.
Fazendo solicitações pull
Novamente, as etapas exatas para isso irão variar dependendo do serviço que você está usando, mas a maior parte da colaboração de código aberto acontece no Github, portanto, mostraremos as etapas para isso.
Vá até o repositório para o qual deseja fazer uma solicitação e clique em “ Nova solicitação pull ” na guia Solicitações de pull:
Publicidade
Você tem duas opções aqui. Se você for um membro do repositório e quiser mesclar seu branch de recurso no branch master, você pode selecionar os dois branches.
Se você estiver trabalhando em um repositório de código aberto, precisará bifurcar o repo e enviá-lo para o Github com sua própria conta. Em seguida, você pode selecionar “ comparar entre garfos ” para fundir seu branch master em seu branch master.
Uma vez feito, a solicitação pull será aberta para discussão e você simplesmente terá que esperar para ouvir de volta dos mantenedores.
Enquanto isso, você pode verificar o status de todas as solicitações pull em que &’ está envolvido com as “ Solicitações pull ” guia na barra de cabeçalho principal.
Nenhum comentário