Erro ao executar git pull
Ao executar o comando git pull, você pode se deparar com a seguinte mensagem de erro:
hint: You have divergent branches and need to specify how to reconcile them.
hint: You can do so by running one of the following commands sometime before
hint: your next pull:
git config pull.rebase false # merge (the default strategy)
git config pull.rebase true # rebase
git config pull.ff only # fast-forward only
fatal: Need to specify how to reconcile divergent branches.
Esse erro ocorre quando existem diferenças entre os commits locais e os commits remotos, ou seja, os históricos das branches divergiram.
✅ Soluções possíveis
1. Usar Merge (estratégia padrão do Git)
Mescla os commits locais com os commits do repositório remoto:
git pull --no-rebase
Para definir como padrão (apenas neste repositório):
git config pull.rebase false
Ou globalmente (para todos os repositórios):
git config --global pull.rebase false
2. Usar Rebase
Aplica os commits locais sobre os commits mais recentes do remoto (mantém o histórico linear):
git pull --rebase
Para definir como padrão no repositório:
git config pull.rebase true
Ou globalmente:
git config --global pull.rebase true
3. Permitir apenas Fast-Forward
Aceita o pull apenas se não houver divergência de histórico (ou seja, você ainda não fez commits locais):
git pull --ff-only
Para configurar como padrão:
git config pull.ff only
Ou globalmente:
git config --global pull.ff only
💡 Dica
Você pode escolher a melhor estratégia com base no seu fluxo de trabalho. Se trabalha sozinho ou quer um histórico limpo, o rebase pode ser ideal. Se está colaborando com várias pessoas, o merge é mais seguro.