Pular para o conteúdo principal

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.