Pular para o conteúdo principal

Git Pull: Como manter seu repositório local atualizado

O comando git pull recupera atualizações de um repositório remoto e as mescla com o ramo atual. Continue lendo para saber como evitar conflitos de mesclagem desnecessários.
Actualizado 10 de mar. de 2025  · 8 min de leitura

Se você trabalha em equipe ou mesmo se está trabalhando sozinho em um projeto em evolução, sabe como é essencial manter o repositório local atualizado para facilitar a colaboração, e é aí que o git pull entra em ação, pois integra as alterações remotas ao seu branch local. Em essência, o git pull busca e integra as alterações de um repositório remoto em seu branch local. É um comando crucial que garante que você esteja sempre trabalhando com o código mais atualizado, especialmente em projetos colaborativos e de ritmo acelerado.

O que é interessante no git pull é que ele combina duas etapas: primeiro, ele executa um git fetch para fazer o download das alterações mais recentes e, em seguida, executa automaticamente um git merge para integrar essas atualizações ao seu ramo. Se preferir um histórico mais limpo sem commits de mesclagem adicionais, você pode usar git pull --rebase.

Se você deseja obter uma sólida compreensão desses conceitos, não deixe de conferir nosso novo programa de habilidades GitHub Fundamentals. Ao fazer o curso, você aprenderá sobre o histórico de versões e o trabalho com ramificações, mas também, ao final, conhecerá estratégias avançadas de mesclagem e gerenciamento de repositórios. 

O que é Git Pull?

Vamos detalhar isso. Ao executar git pull, você atualiza o ramo local com os últimos commits do repositório remoto. Veja como isso funciona:

  1. Obtenção de atualizações: O Git começa executando git fetch para recuperar todos os novos commits do controle remoto.

  2. Fusão de alterações: Em seguida, ele executa automaticamente um git merge para integrar esses commits obtidos ao seu branch atual.

  Processo git pull fetch e merge

Aqui está uma representação visual do processo Git Pull. O gráfico mostra como os commits do repositório remoto(A → B → C) são obtidos e mesclados na ramificação local(A → B → D). A linha tracejada representa a etapa de mesclagem, na qual o commit C é integrado ao repositório local. Isso ilustra como o site git pull mantém sua filial local atualizada com as últimas alterações remotas.

Git Pull e comandos relacionados

Vamos nos aprofundar em algumas opções essenciais disponíveis no site git pull e ver como elas podem tornar seu fluxo de trabalho mais suave. Se você deseja limpar seu histórico de commits ou precisa de mais informações sobre o que está acontecendo durante um pull, esses comandos têm tudo o que você precisa. Aqui está uma referência útil:

Comando Descrição
git pull Obtém e mescla alterações remotas no ramo atual.
git pull origin <branch> Puxa alterações de um ramo remoto específico.
git pull --rebase Usa rebase em vez de mesclagem para produzir um histórico de commits mais limpo e linear.
git pull --no-commit

Obtém e mescla alterações remotas, mas não cria um commit automático, permitindo que você inspecione e modifique o resultado mesclado antes de fazer o commit.

git pull --verbose Fornece saída detalhada durante o processo de extração, ajudando você a ver exatamente quais alterações são obtidas.

Essas opções oferecem flexibilidade para que você possa personalizar o processo de atualização de acordo com as necessidades do seu projeto. Por exemplo, se você prefere um histórico de commits mais organizado, git pull --rebase pode ser a sua opção. Ou se você quiser verificar novamente as alterações antes de mesclá-las, o git pull --no-commit oferece essa camada extra de controle.

Como evitar problemas comuns de Git Pull

Sejamos francos: o site git pull é um salva-vidas, mas não deixa de ter suas peculiaridades. Veja aqui como você pode evitar as armadilhas mais comuns e manter seu fluxo de trabalho tranquilo:  

Mesclar conflitos

Os conflitos de mesclagem ocorrem quando suas alterações locais se sobrepõem às alterações do repositório remoto. Por exemplo, se você e um colega de equipe editarem a mesma linha de código, o Git não saberá qual versão manter. Quando isso acontece, o Git pausa a mesclagem e pede que você resolva o conflito manualmente.  

Veja como você pode corrigir isso: 

  1. Abra o(s) arquivo(s) em conflito e procure por marcadores de conflito (<<<<<<<, =======, >>>>>>>).  

  2. Edite o arquivo para manter as alterações desejadas. 

  3. Salve o arquivo, prepare-o (git add ) e conclua a mesclagem (git commit).

Puxando com alterações não confirmadas

Se você tiver alterações não confirmadas em seu diretório de trabalho, git pull pode falhar, pois você precisa de um ambiente limpo para mesclar as alterações remotas.

Aqui está a solução:

1. Guarde suas alterações:

Como o git pull exige um diretório de trabalho limpo, você precisará salvar temporariamente as alterações não confirmadas usando o comando stash. Isso mantém suas alterações seguras enquanto você atualiza o ramo.

git stash

2. Extraia as alterações mais recentes:

Agora que o diretório de trabalho está limpo, você pode buscar e mesclar com segurança as alterações mais recentes do repositório remoto.

git pull

3. Reaplique suas alterações armazenadas:

Após a conclusão da atualização, você pode restaurar as alterações salvas de volta ao diretório de trabalho usando git stash pop. Isso trará de volta tudo o que você tinha antes do armazenamento.

git stash pop

Seguindo essas etapas, você sabe que as alterações locais são armazenadas com segurança enquanto você atualiza o branch. 

Extraindo do ramo errado

Se você executar git pull sem especificar um ramo, o Git puxará do ramo upstream que o seu ramo local está rastreando. Se o upstream não estiver definido corretamente, você poderá obter alterações de um branch inesperado, causando confusão ou erros.  

Aqui está como você pode evitar isso: 

1. Verifique o ramo upstream:

git branch -vv

2. Se necessário, defina o upstream correto:

git branch --set-upstream-to=origin/<branch>

Sempre verifique duas vezes de qual ramificação você está puxando, especialmente ao trabalhar com várias ramificações.

Práticas recomendadas para usar o Git Pull

Com base no que discutimos anteriormente sobre como evitar problemas comuns, aqui estão algumas práticas recomendadas para ajudar você a aproveitar ao máximo o git pull em seu fluxo de trabalho diário:

  • Puxe com frequência: Atualize sua filial regularmente para evitar que grandes conflitos se acumulem. Mudanças pequenas e incrementais são muito mais fáceis de gerenciar do que grandes fusões posteriores.

  • Inspecione antes de mesclar: Execute o site git fetch primeiro para ver quais alterações estão esperando por você. Isso permite que você revise os commits recebidos sem mesclá-los imediatamente, dando-lhe tempo para se preparar para quaisquer ajustes.

  • Mantenha um histórico linear: Se você preferir um histórico de commits limpo, use git pull --rebase. Esse comando faz o rebase das alterações locais com base nos últimos commits remotos, mantendo o histórico do projeto organizado.

  • Revisões de fusões: Para ter mais cuidado, use git pull—- no-commit para inspecionar os resultados da mesclagem antes de finalizá-los com um commit. Isso detectará quaisquer discrepâncias com antecedência.

  • Verificar o programa da filial: Sempre execute o programa git remote show origin para garantir que sua filial local esteja rastreando a filial remota correta. Essa verificação simples ajuda a evitar que as atualizações sejam transferidas para a ramificação errada.

Por que alguns desenvolvedores evitam o git pull

Embora o git pull seja conveniente, alguns desenvolvedores preferem dividir o processo em duas etapas para ter mais controle:  

1. Buscar primeiro

git fetch

Isso recupera alterações remotas sem mesclá-las.  

2. Integrar manualmente

Use git merge para combinar alterações:  

git merge origin/<branch>

Ou use git rebase para obter um histórico mais limpo:  

git rebase origin/<branch>

Exemplo de um Git Pull em ação

Vamos examinar alguns exemplos práticos de uso do git pull para que você possa ver exatamente como esses comandos funcionam em cenários reais.

Uso básico do git pull

O comando git pull é a maneira mais fácil de atualizar sua ramificação local com as alterações mais recentes da ramificação principal do repositório remoto. Ele executa automaticamente um git fetch seguido de um git merge. Use esse comando para sincronizar seu repositório local com as atualizações mais recentes do remoto sem etapas adicionais. A execução do git pull obtém atualizações do ramo remoto (normalmente denominado origin) e as mescla ao ramo atual, garantindo que o código local permaneça atualizado.

exemplo de git pull

Usando o git pull --rebase

Se você preferir um histórico linear mais limpo, sem commits de mesclagem desnecessários, o site git pull --rebase é a melhor opção. Esse comando busca alterações remotas e, em seguida, reaplica seus commits locais sobre elas, mantendo um histórico de commits estruturado. É útil em projetos colaborativos em que um registro de confirmação organizado é essencial. A execução do git pull --rebase garante que os commits locais sejam reproduzidos sobre as alterações obtidas, evitando commits de mesclagem redundantes e mantendo o histórico do repositório mais legível.

git pull --rebase example

Usando o git pull --no-commit

Se você deseja obter e mesclar alterações remotas, mas prefere revisá-las antes de fazer o commit, o git pull--no-commit é a opção perfeita. Esse comando permite que você inspecione manualmente os resultados da mesclagem e resolva quaisquer conflitos antes de finalizar o commit. Ele garante que você tenha controle total sobre o processo de integração, o que o torna ideal para atualizações cautelosas em que você precisa verificar as alterações antes de fazer o commit.

git pull no commit example

Extração de um ramo remoto específico

Ao trabalhar em várias ramificações, você pode precisar atualizar sua ramificação local com alterações de uma ramificação remota específica em vez da ramificação principal padrão. A ramificação git pull origin feature permite que você busque e mescle os últimos commits de uma ramificação designada, garantindo que seu trabalho local permaneça atualizado com as últimas alterações remotas. Isso é especialmente útil quando você colabora com o desenvolvimento de recursos ou correções de bugs em diferentes ramificações.

Git Pull vs. Git Pull. Git Fetch

Ao trabalhar com o Git, você encontrará com frequência git pull e git fetch. Embora possam parecer semelhantes, eles têm finalidades diferentes. Vamos detalhar as diferenças para que você possa decidir quando usar cada uma delas.

Entendendo a diferença

  • git fetch recupera as alterações de um repositório remoto, mas não as integra ao seu ramo de trabalho. Ele simplesmente atualiza sua cópia local das ramificações remotas.

  • git pull faz o mesmo que git fetch, mas mescla imediatamente as alterações obtidas em seu ramo atual.

Tabela de comparação

Recurso git fetch git pull
O que você faz Faz o download de novas alterações do controle remoto, mas não as mescla Faz o download e mescla imediatamente as alterações no ramo atual
Você altera o diretório de trabalho? Ramos de rastreamento remoto sem atualizações Sim - modifica o ramo de trabalho
Melhor para Verificação de alterações remotas antes da mesclagem Atualizar rapidamente o branch local com as alterações mais recentes
Você pode usar com segurança a qualquer momento? Sim, pois não afeta o trabalho local Não, pois isso pode desencadear conflitos de mesclagem
Caso de uso comum Inspecionar alterações remotas antes de decidir fazer a mesclagem Manter as filiais locais atualizadas automaticamente
Sintaxe do comando git fetch origin git pull origin main

Quando você deve usar cada um?

Use o site git fetch para revisar as alterações antes de atualizar a ramificação, fazer a mesclagem ou o rebase manualmente mais tarde ou evitar alterações instáveis ao trabalhar em uma ramificação de recurso. Por outro lado, use git pull quando você precisar das atualizações mais recentes em uma ramificação compartilhada, como central ou develop, estiver confiante em mesclar alterações remotas sem conflitos ou quiser manter a sincronia com o repositório da sua equipe. Muitos desenvolvedores que preferem ter mais controle sobre as integrações usam git fetch primeiro, seguido por git merge ou rebase manualmente. Se você estiver interessado em fluxos de trabalho avançados do Git, a exploração de abordagens estruturadas pode aprimorar sua estratégia de controle de versão.

Conclusão

A esta altura, você já deve ter uma sólida compreensão do site git pull- como ele funciona, quando usá-lo e as melhores estratégias para evitar armadilhas comuns. Vimos que o git pull combina o git fetch e o git merge, o que o torna uma maneira rápida de atualizar o repositório local. Se você preferir um histórico de confirmação mais limpo, o git pull --rebase é uma excelente alternativa.

Também exploramos opções importantes, como extrair de ramificações específicas, evitar commits imediatos e lidar com conflitos de mesclagem de forma eficaz. Além disso, discutimos por que alguns desenvolvedores escolhem git fetch seguido de git merge para ter mais controle sobre as alterações recebidas.

No final das contas, para manter o fluxo de trabalho do Git tranquilo, você precisa entender como as alterações se movem entre os repositórios locais e remotos. Se você estiver colaborando em um projeto de equipe ou gerenciando seus repositórios, saber quando puxar, buscar, mesclar ou fazer rebase evitará muitas dores de cabeça. Há muito o que aprender com o Git, mas aqui na DataCamp estamos aqui para ajudar. Recomendo avocê nossocurso Foundations of Git e o curso Introduction to GitHub Concepts como duas ótimas opções.

Aprenda hoje os fundamentos do Git

Para iniciantes: Controle de versão principal usando o Git.
Comece a aprender de graça

Oluseye Jeremiah's photo
Author
Oluseye Jeremiah
LinkedIn

Escritor técnico especializado em IA, ML e ciência de dados, tornando ideias complexas claras e acessíveis.

FAQs do git pull

O que o git pull faz?

git pull atualiza o repositório local, obtendo alterações de um repositório remoto e mesclando-as ao branch atual. Ele combina git fetch e git merge em um único comando.

Como o git pull é diferente do git fetch?

git fetch baixa as alterações do repositório remoto, mas não as mescla no ramo local, enquanto o git pull busca e mescla as alterações automaticamente.

O que devo fazer se o git pull resultar em um conflito de mesclagem?

Se git pull causar um conflito de mesclagem, o Git fará uma pausa na mesclagem. Você precisa resolver manualmente os arquivos conflitantes, usar git add para preparar as alterações resolvidas e executar git commit para concluir a mesclagem.

Como posso fazer alterações sem mesclar?

Use git pull --rebase em vez de git pull para aplicar as alterações recebidas sobre os commits locais, evitando commits de mesclagem e mantendo o histórico linear.

Como faço para obter alterações de um ramo específico?

Execute git pull origin para buscar e mesclar alterações de um branch específico no repositório remoto para o branch local atual.

Temas

Aprenda Git com a DataCamp

curso

Introduction to Git

2 hr
16K
Discover the fundamentals of Git for version control in your software and data projects.
Ver DetalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado
Git

blog

O que é Git? Manual completo do Git

Saiba mais sobre o sistema de controle de versão mais conhecido e por que é uma ferramenta de colaboração indispensável para cientistas de dados e programadores.
Summer Worsley's photo

Summer Worsley

14 min

tutorial

Git Pull Force: Como substituir uma ramificação local por uma remota

Saiba por que o git pull --force não é a melhor maneira de substituir uma ramificação local pela versão remota e descubra o método adequado usando git fetch e git reset.
François Aubry's photo

François Aubry

tutorial

Git Rename Branch: Como renomear uma filial local ou remota

Saiba como renomear ramificações locais e remotas do Git usando o terminal ou a interface gráfica do usuário (GUI) de clientes populares como o GitHub.
François Aubry's photo

François Aubry

tutorial

Tutorial de push e pull do GIT

Saiba como realizar solicitações Git PUSH e PULL por meio do GitHub Desktop e da linha de comando.

Olivia Smith

13 min

tutorial

Git Prune: O que é o Git Pruning e como usar o Git Prune

O Git prune é um comando do Git que remove objetos do repositório que não são mais acessíveis a partir de qualquer commit ou branch, ajudando a liberar espaço em disco.
François Aubry's photo

François Aubry

5 min

tutorial

Tutorial do GitHub e do Git para iniciantes

Um tutorial para iniciantes que demonstra como funciona o controle de versão do Git e por que ele é crucial para projetos de ciência de dados.
Abid Ali Awan's photo

Abid Ali Awan

17 min

Ver maisVer mais