Antes de passarmos à diferença entre git fetch e git pull, vamos entender o que é o git primeiro.
O Git é um sistema de controle de versão distribuído (VCS), mais como uma ferramenta, para rastrear alterações no código fonte de projetos pequenos e grandes ao longo do tempo. É uma abordagem colaborativa para reunir desenvolvedores e programadores de todo o mundo sob o mesmo teto para compartilhar um interesse comum - a codificação. Git é basicamente uma ferramenta de gerenciamento de código-fonte usada para gerenciar projetos ou um conjunto de arquivos que mudam ao longo do tempo e catalogá-los em uma estrutura de dados específica chamada repositórios.
O GitHub é o repositório git baseado na Web mais popular e amplamente usado. Fetch e Pull são os dois comandos mais básicos para você continuar com o Git e gerenciar repositórios git.
O Git permite que os usuários mantenham um repositório local, que é o clone do repositório central, armazenando dados como uma série de instantâneos.
Toda vez que você confirma ou faz algumas alterações no código-fonte, o Git tira um instantâneo de todos os arquivos / códigos naquele momento e os armazena como referências.
Com um simples comando push, os usuários podem enviar suas confirmações para o repositório principal, a fim de compartilhar suas versões com o resto do mundo..
Ao usar o comando git fetch, você simplesmente escolhe recuperar as alterações feitas no repositório remoto e armazená-las em sua máquina local.
No entanto, ele não integra as alterações no seu repositório local. Isso mantém você atualizado com seus colegas desenvolvedores e com o que eles estão trabalhando.
O comando pull do Git é usado para baixar as alterações do repositório Git de um repositório remoto e mesclar essas alterações no seu repositório local.
Pull é basicamente git fetch seguido pelo significado de mesclagem git após recuperar com êxito as alterações do repositório remoto, você pode mesclá-lo com sua filial local usando uma mesclagem regular com git.
O Git pull é útil quando você deseja atualizar seu repositório com as alterações feitas no repositório remoto. Ele permite que você introduza outras pessoas comprometidas com seu repositório, que eventualmente se sincronizam com outros repositórios com as alterações que você comprometeu.
Em termos simples, ele simplesmente traz as alterações no repositório remoto, onde você mantém seu próprio código.
Git fetch e Git pull são os dois comandos mais importantes usados para gerenciar repositórios git com eficiência. Embora os dois comandos sejam usados para baixar novos dados de um repositório remoto, eles o fazem com objetivos muito diferentes em mente. Embora 'git fetch' seja usado para recuperar as alterações mais recentes feitas no repositório remoto, ele não mescla essas alterações com o repositório local.
O Git pull, por outro lado, não apenas baixa as alterações do repositório remoto, mas também as integra ao repositório local.
O Git fetch é um comando inofensivo usado para baixar e revisar confirmações mais recentes feitas por outras pessoas a partir das ramificações de rastreamento remoto, mas sem mesclar essas confirmações no repositório local. Ele pega as alterações do repositório remoto e as armazena no repositório local.
Git pull é uma abreviação de git fetch, seguida de git merge, que mescla automaticamente as confirmações no seu repositório local sem revisar as confirmações.
O Git permite que um usuário mantenha uma cópia de seu próprio repositório local, que é o clone do repositório central, para que os commit sejam feitos localmente, sem interferir no código do repositório principal. A busca simplesmente mantém sua cópia local do repositório remoto atualizada, transferindo confirmações do repositório remoto para o repositório local. Importar confirmações para filiais locais permitirá que você acompanhe as alterações feitas por outras pessoas.
Pull traz as alterações para o seu repositório de códigos local para atualizar o repositório local com o repositório remoto.
O comando buscar é útil quando você deseja ver o que todo mundo está trabalhando, o que facilita a revisão das confirmações enviadas por outros desenvolvedores antes de integrar as alterações ao seu repositório local. Você pode fazer isso usando o comando “git fetch”, que captura todas as ramificações do repositório remoto.
Você pode executar um pull usando o comando “git pull”, que recupera a cópia remota da ramificação e a mescla com a sua cópia local. É exatamente o mesmo que usar o comando "git fetch" seguido de "git merge".
Basicamente, o git pull é o git fetch seguido pelo git merge. Git fetch é o comando básico usado para obter as atualizações mais recentes do repositório git, o que significa que quando você trabalha em equipe e deseja saber em que todos os outros desenvolvedores estão trabalhando e em quais compromissos eles são enviados ao repositório remoto.
Basicamente, o que você faz é buscar as alterações nos códigos / arquivos da ramificação remota, que o mantém atualizado com o trabalho de todos os outros, sem interferir na sua cópia de trabalho. Uma solicitação git pull é o que você faz para atualizar seu repositório local com as alterações do repositório remoto.
Em termos simples, o fetch baixa todas as coisas da ramificação remota para a local antes de integrá-las ao repositório central, enquanto o git pull lança as operações de busca e mesclagem em um único comando.