Como Resolver: "Need to specify how to reconcile divergent branches" no Git
Esse erro aparece quando o Git detecta que os branches local e remoto divergiram. Você precisa escolher uma estratégia para reconciliá-los.
Opções de Solução
✅ 1. Usar Merge (estratégia padrão)
Cria um commit de merge para unir as alterações locais e remotas.
git pull --no-rebase
Para tornar essa opção padrão:
git config pull.rebase false
Globalmente:
git config --global pull.rebase false
🔁 2. Usar Rebase (reescreve o histórico)
Aplica os commits locais por cima dos commits remotos, criando um histórico linear.
git pull --rebase
Para tornar essa opção padrão:
git config pull.rebase true
Globalmente:
git config --global pull.rebase true
➡️ 3. Fast-Forward Only (sem divergência)
Somente faz o pull se não houver divergência.
git pull --ff-only
Para configurar como padrão:
git config pull.ff only
Globalmente:
git config --global pull.ff only
Qual escolher?
- Merge: Se quiser manter todo o histórico (mais seguro).
- Rebase: Para um histórico linear (mais limpo, requer mais cuidado).
- Fast-forward only: Para quem prefere segurança e trabalha sempre com branches sincronizadas.
Exemplo Rápido
Se quiser apenas resolver rapidamente com merge:
git pull --no-rebase
Dica: Depois de escolher a estratégia ideal, configure ela como padrão no seu repositório ou globalmente.