Menu
Coddy logo textTech

Git Fetch vs Pull

Última atualização

git fetch baixa os commits mais recentes do remoto mas deixa sua branch de trabalho exatamente como estava. git pull faz o mesmo download e depois faz imediatamente o merge desses commits na sua branch atual. Em resumo: git pull = git fetch + git merge.

Use fetch quando quiser olhar antes de agir; use pull quando estiver pronto para integrar. Experimente os dois no terminal playground: um shell real no seu navegador.

git fetch baixa os commits novos e só atualiza origin/main - seu branch espera; git pull já os mescla imediatamente.

Lado a lado

Behaviorgit fetchgit pull
Baixa commits remotosSimSim
Altera sua branch atualNãoSim
Pode causar conflitos de mergeNãoSim
Equivale aapenas downloadfetch + merge

Sintaxe

CommandWhat it does
git fetchBaixa todas as mudanças remotas, sem fazer merge
git fetch origin mainBusca apenas uma branch de um remoto
git pullBaixa e faz o merge na branch atual
git pull --rebaseBaixa e depois faz o rebase dos seus commits por cima
git log HEAD..origin/mainApós o fetch: veja o que você faria merge

Perguntas frequentes sobre Git fetch vs pull

Qual é a diferença entre git fetch e git pull?
git fetch baixa novos commits e atualiza suas branches de rastreamento remoto (como origin/main) mas não altera sua branch de trabalho. git pull faz esse mesmo fetch e depois faz o merge dos novos commits na sua branch atual. Então o pull altera seus arquivos; o fetch apenas atualiza o seu conhecimento do remoto.
O git pull é apenas fetch mais merge?
Sim. git pull é uma abreviação de git fetch seguido de git merge da branch buscada na sua branch atual. Com git pull --rebase, o segundo passo é um rebase em vez de um merge, o que mantém o histórico linear.
Quando devo usar fetch em vez de pull?
Use git fetch quando quiser revisar as mudanças recebidas antes de integrá-las: por exemplo, git fetch e depois git log HEAD..origin/main para ver exatamente o que há de novo. Use git pull quando você já confia nas mudanças remotas e só quer que elas sejam mescladas na sua branch.
O git fetch chega a causar conflitos?
Não. O fetch apenas atualiza as branches de rastreamento remoto; ele nunca toca na sua branch de trabalho ou nos seus arquivos, então não pode produzir conflitos de merge. Os conflitos só surgem na etapa de merge, que o pull realiza automaticamente mas o fetch não.
Posso praticar isso online?
Sim. Abra o terminal playground para executar git fetch e git pull em um shell real no seu navegador, sem nada para instalar. O curso interativo e gratuito de Git da Coddy também aborda o trabalho com remotos passo a passo.
Coddy programming languages illustration

Aprenda Git com a Coddy

COMEÇAR