Por que você deveria usar git pull --rebase em vez do git pull padrão
Publicado 13 de outubro de 2025

Se você trabalha com Git diariamente, está provavelmente familiarizado com o comando git pull. É a maneira mais comum de atualizar seu branch local com as alterações mais recentes do repositório remoto. Mas você sabia que existe uma maneira mais limpa e profissional de fazer isso? Vamos explorar por que git pull --rebase deveria ser seu comando padrão.
O problema com
Quando você executa um git pull simples, o Git, na verdade, executa dois comandos em sequência:
1. git fetch - baixa as alterações do repositório remoto
2. git merge - mescla essas alterações com seu branch local
O problema na etapa de merge. Cada vez que você faz um git pull, o Git cria um merge commit adicional. Veja o que acontece:
Esses commits de merge poluem seu histórico com informações desnecessárias. Eles não representam uma nova funcionalidade ou correção de bug - são apenas artefatos do processo de sincronização.
A solução:
Quando você usa git pull --rebase, o Git faz algo diferente:
1. git fetch - mesma etapa inicial
2. git rebase - em vez de merge, ele "reaplica" seus commits sobre o branch atualizado
O resultado é muito mais limpo:
Seus commits são reposicionados no topo do branch atualizado, criando um histórico linear e fácil de seguir.
Vantagens do rebase
1. Histórico mais limpo e legível
Sem commits de merge desnecessários, você pode visualizar a história do projeto de maneira mais clara. Isso é especialmente valioso quando você precisa:
- Investigar quando um bug foi introduzido (git bisect)
- Reverter commits específicos
- Entender a evolução do código
2. Facilita code reviews
Em pull requests, um histórico linear é mais fácil de revisar. Os revisores podem focar nas alterações específicas do desenvolvimento, sem se distrair com merges de sincronização.
3. Resolução de conflitos mais granular
Com o rebase, os conflitos são resolvidos commit por commit, em vez de todos de uma vez. Isso permite soluções mais precisas e mantém cada commit funcional.
4. Profissionalismo
Times que adotam `git pull --rebase` demonstram preocupação com a qualidade do histórico. É uma prática comum em projetos open-source e empresas tech de ponta.
Quando NÃO usar rebase
Apesar das vantagens, há situações onde o rebase não é recomendado:
- Commits já compartilhados publicamente: Nunca faça rebase de commits que já foram push para o repositório compartilhado
- Branches de longa duração: Em branches que existem há semanas/meses, merges tradicionais podem ser mais apropriados
Configurando como padrão
Você pode configurar o Git para usar rebase por padrão:
1# Para todos os branches no repositório atual
2git config pull.rebase true
3
4# Globalmente para todos seus repositórios
5git config --global pull.rebase true
6
7# Para branches específicos
8git config branch.[nome-do-branch].rebase true
9Boas práticas ao usar rebase
1. Faça commit frequentemente: Commits pequenos e focados facilitam o rebase
2. Teste após o rebase: Sempre verifique se tudo funciona após reorganizar commits
3. Comunique-se com o time: Certifique-se que todos entendam o workflow
4. Use git pull --rebase=interactive: para revisar e ajustar commits durante o rebase
Conclusão
Usar git pull --rebase é uma mudança simples que traz benefícios significativos para a qualidade do seu histórico de código. Embora requeira um pouco de prática inicial, rapidamente se torna natural e você dificilmente vai querer voltar ao método tradicional.
Lembre-se: um histórico limpo não é apenas questão de estética - é uma ferramenta poderosa para debugging, manutenção e colaboração eficiente.