A terminologia usada para mesclar uma ramificação com um repositório oficial é uma 'solicitação pull'. Isso é confuso, pois parece que estou solicitando enviar minhas alterações para o repositório oficial.
Por que isso é chamado de solicitação pull e não push?
git
github
pull-request
Alejandro Sanz Díaz
fonte
fonte
git push
. Para mim, isso diz tudo ... (sim, eles podem emitir git pull, empurre então git, mas o impulso foi solicitado e é o que é em última análise, sendo feito)merge requests
. Muito mais claro, IMHO. :)Respostas:
Se você possui uma alteração de código no seu repositório e deseja movê-lo para um repositório de destino, então:
git push
).git pull
do outro repositório ).Uma "solicitação pull" é você solicitando o repositório de destino para obter suas alterações.
Uma "solicitação de envio" seria o repositório de destino solicitando que você enviasse suas alterações.
fonte
Ao enviar uma solicitação de recebimento, você está solicitando (solicitando) ao proprietário do repositório oficial que faça algumas alterações em seu próprio repositório. Daí "solicitação de recebimento".
fonte
tl; dr, já que não tenho permissão para fazer um push, farei uma solicitação ao proprietário do repositório, para que ele decida puxar
Quem pode enviar código para um repositório?
Se alguém (possivelmente mau, sem instrução ou desconhecido) puder vir aqui e dizer aqui, enviei isso para o seu ramo mestre e estraguei todo o seu código HAHAHA! ?
Certamente você não quer que ele faça isso. Por padrão, uma rede de segurança é configurada para que ninguém possa acessar seu repositório. Você pode definir outras pessoas como colaborador e , em seguida, elas podem enviar por push. Você daria esse acesso a pessoas em quem confia.
Portanto, se você não é um colaborador e tenta enviar, receberá um erro indicando que não tem permissão.
Então, como outros desenvolvedores podem enviar para um repositório que não têm permissão para enviar?
Você não pode dar acesso a todos, mas você quer dar outros um ponto de saída / entrada para que eles possam fazer 'um pedido para o proprietário repo para puxar este código para o repo'. Simplificando, tornando o repositório acessível, eles podem bifurcá-lo ... fazer suas alterações em seu próprio garfo. Envie as alterações para o próprio garfo . Quando estiver em seu próprio repositório remoto:
Eles fazem uma solicitação pull de sua bifurcação e o proprietário do repositório upstream (para o qual você não pode enviar diretamente) decide se deseja ou não mesclar a solicitação pull.
Também uma pergunta semi-relacionada, recomendo a leitura O que exatamente acontece em um push git? Por que um push git não é considerado como uma mesclagem git?
fonte
Pull Pedido: I Solicitar a você para puxar o meu.
fonte
I >>> You
- Você está mudando o ponto de referência duas vezes no mesmo contexto ... em vez deI >>>> You <<<< Mine
Quero levar algo ao repositório de outra pessoa.
Eu não tenho permissão para empurrar (ou puxar, para esse assunto).
O proprietário / colaboradores tem permissões. Eles podem puxar e empurrar. Eu não posso empurrar.
Portanto, peço que eles executem uma solicitação minha - o que indiretamente significa que estou solicitando que eles aceitem meu pedido.
Portanto, nenhum pedido de envio. Apenas para puxar. E para aceitação de um empurrão.
Portanto, uma solicitação 'pull'. E não um pedido "push".
fonte
É a palavra "Solicitação" que é fundamental nessas ações. Você também pode pensar nisso como dizendo "Eu tenho um pedido para você aceitar meu trabalho, você aceita?" - "Uma solicitação de recebimento".
É um pouco confuso no começo, mas faz sentido eventualmente.
fonte
Para entender isso melhor e lembrá-lo para sempre, você precisa imaginá-lo.
Imagine uma árvore grande e viva {como seu repositório}. A árvore é muito resistente para você inserir um galho ou adicionar uma nova peça {simboliza a criação de um novo galho ou você introduz o código nele}; em vez disso, você deve pedir à árvore para puxar um galho para o tronco ou ter o muda de você.
O termo "solicitações de recebimento" vem da natureza distribuída. Em vez de apenas inserir suas alterações no repositório (como faria com um repositório centralizado, por exemplo, com o Subversion), você está publicando suas alterações separadamente e solicitando ao mantenedor que faça as alterações. O mantenedor pode então examinar as alterações e fazer o referido puxão.
Então você basicamente "solicita" os caras com acesso de gravação ao repositório ao qual deseja contribuir, para "Retirar" do seu repositório.
As solicitações pull permitem que você conte aos outros sobre as alterações que você enviou para uma ramificação em um repositório no GitHub. Depois que uma solicitação de recebimento é aberta, você pode discutir e revisar as possíveis alterações com os colaboradores e adicionar confirmações de acompanhamento antes que suas alterações sejam mescladas na ramificação base. Explicação do Github
fonte
Eu acho que é uma terminologia bobo porque eu quero pensar que eu quero empurrar algo para você e não pensar vice-versa pedindo alguém para puxar meus addings. Portanto, ele deve ser alterado para PUSH REQ. desde que eu sou a parte ativa. A flecha vai para o outro lado, começando comigo e não o Pateta do outro lado. NA MINHA HUMILDE OPINIÃO.
fonte
Pense assim. Repositório local vs repositório remoto.
git push
) - em outras palavras, o repositório remoto está recebendo códigos de você (local).Você está solicitando alguma coisa. Então, pergunte a si mesmo,
fonte
Receio que a maioria dessas respostas atenda à pergunta O que significa 'solicitação de recebimento'? ou O que 'solicitação de envio' significa? em vez da pergunta do OP: por que é chamada de solicitação pull e não push?
Normalmente, esse tipo de substituição de pergunta é aceitável, mas, neste caso, é claro que o OP conhece as respostas para essas perguntas de substituição, portanto, respondê-las não é muito útil.
Somente as pessoas no GitHub que cunharam o termo sabem com certeza. No entanto, parece evidente que essa escolha terminológica reflete algo como o seguinte ponto de vista sobre o fenômeno de "mudanças que chegam de fora a um repositório": O mantenedor executa a ação (pull) .
No entanto, uma solicitação também é uma ação, e o executor dessa ação não é o mantenedor, mas o remetente (que realizou ainda mais ações, ou seja, trabalho). Assim, o termo 'solicitação de recebimento' cria confusão sobre quem é o agente . Por fim, a confusão surge devido à natureza recursiva de uma solicitação: uma solicitação é uma ação de um agente primário e uma solicitação de ação futura de um segundo agente.
A situação é bastante análoga às construções lingüísticas agora comuns, como "construímos nossa casa" (usada no lugar de "pagamos outra pessoa para construir nossa casa"), pois a responsabilidade pela ação primária é transferida do óbvio agente original para um agente secundário cumprindo um papel social gerencial.
Pode-se concluir com isso que a razão da escolha terminológica é a legitimação do ponto de vista de que o trabalho gerencial é um trabalho de primeira classe . Além disso, o motivo da confusão sobre essa escolha terminológica pode ser que os trabalhadores que não são gerentes naturalmente têm um ponto de vista diferente.
fonte