Resolver o erro: You have not concluded your merge (MERGE_HEAD exists) em git
Neste artigo você vai aprender a resolver o erro You have not concluded your merge (MERGE_HEAD exists) que acontece no git

Fala programador(a), beleza? Bora aprender mais sobre git e resolução de conflitos!
Basicamente o erro acontece por que o git pull que demos anteriormente falhou em unir os códigos, com os já presentes
E este conflito gerado não foi resolvido até este próximo pull, então é necessário resolver o problema para continuar com o git pull
Para isso você deve primeiramente abortar o merge:
git merge --abort
E então você precisa resolver o conflito atual no código, vendo o que está diferente do seu código com o que veio do pull
Quer aprender mais sobre git? Veja este curso gratuito:
Após a resolução você precisa commitar esta resolução:
git commit -a -m "Resolvendo conflito"
Formação Claude Code
Domine Claude Code do absoluto zero até o avançado
- 116 aulas
- 4 projetos
- 9h 23min
E por último realizar o pull novamente:
git pull
Agora o código virá corretamente do repo remoto, e você estará com o erro resolvido também 🙂
Conclusão
Neste artigo aprendemos a como resolver o erro: You have not concluded your merge
Que acontece quando o conflito de um merge anterior ainda não foi resolvido, e tentamos adicionar mais código
É que como se fosse uma trava de segurança para não aumentar o problema
No conteúdo do artigo descrevi o passo a passo para solucionar esta questão
Confira nossos cursos gratuitos no Youtube, com vídeos todos os dias!
Se inscreva e ative o sininho para receber as notificações e aprender mais ainda sobre desenvolvimento web!
Veja também nosso catálogo de cursos na Udemy, todos com exercícios e projetos práticos, nas mais diversas tecnologias
O link acima contém um cupom de desconto para os cursos!
Por que o git trava e não deixa você seguir?
O git não é chato à toa
Quando uma junção de código começa e não termina, ele guarda um sinalizador dizendo "tem merge aberto aqui", e é exatamente isso que o MERGE_HEAD exists está gritando pra você
Enquanto esse sinalizador estiver de pé, qualquer tentativa de trazer código novo vai ser recusada
Pensa no freio de mão do carro: enquanto ele está puxado, você pode pisar no acelerador o quanto quiser, o carro não anda
E isso é bom! Se o git deixasse passar, você ia empilhar conflito novo em cima de conflito velho, e aí sim vira aquele nó que ninguém desata
Abortar ou terminar o merge? Como escolher:
Antes de sair rodando comando, para um segundo e responde uma pergunta: você já mexeu nos arquivos em conflito?
Se você já abriu os arquivos, escolheu o que fica e o que sai, e só esqueceu de fechar a resolução, não joga fora esse trabalho… o caminho é concluir o que ficou pela metade
Se você nem começou, ou começou e se perdeu no meio do caminho, aí sim vale voltar o repositório pro estado de antes e recomeçar com calma
"Mas eu vou perder meu código se abortar?"
O que já estava commitado antes continua lá, abortar desfaz a junção em andamento, não o seu histórico
O que some é o rascunho da resolução que você digitou e ainda não fechou em commit, por isso aquela pergunta lá de cima importa tanto
Como saber se o conflito foi resolvido MESMO:
Erro clássico: a pessoa acha que resolveu, commita, e o marcador de conflito vai junto pro repositório 😅
Quando o git não consegue decidir sozinho, ele escreve os DOIS lados dentro do arquivo e deixa marcadores separando o que veio de cada versão
Resolver o conflito é escolher o que fica e apagar esses marcadores, não é só salvar o arquivo e seguir a vida
Então, antes de commitar, passa o olho em todos os arquivos que estavam em conflito e confirma que não sobrou nenhum pedaço duplicado ali no meio
Tome cuidado com arquivo gerado automaticamente (lockfile, arquivo de build), esses são os que mais passam batido… e o código volta a quebrar sem ninguém entender por quê
E hoje, com editor gráfico e IA no meio do caminho?
Este conteúdo nasceu numa época em que resolver conflito era você, o terminal e a paciência
Hoje boa parte da galera resolve conflito dentro do próprio editor, naquela visão lado a lado, ou joga os dois lados pro assistente de IA sugerir a junção
A boa notícia: a trava é exatamente a mesma
Não importa se quem escolheu as linhas foi você, o editor ou a IA, o git só libera o caminho quando aquela resolução vira commit
E fica o aviso do vibe coder responsável: leia o que a IA resolveu antes de aceitar
Merge é o momento em que duas intenções diferentes se encontram, e a IA não estava na reunião em que vocês decidiram qual das duas valia 😉
Como não cair nesse erro de novo:
Não saia do computador com merge aberto, é assim que o problema dorme e acorda pior no dia seguinte
Traga o código do repositório remoto ANTES de começar a mexer, não depois de duas horas de trabalho
Commits pequenos e frequentes: quanto menor o pedaço, menor o conflito e mais fácil escolher um lado
Apareceu conflito? Resolve na hora, enquanto você ainda lembra o que aquele código fazia
Antes de puxar tarefa nova, dá uma olhada em como o repositório está
Parece básico, mas é isso que separa quem vê esse erro uma vez por ano de quem vê toda semana
Leia também
Formações
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
Blog | Mais populares

Como saber em qual branch estou no Git? (2 comandos simples)
Neste artigo você vai aprender a como verificar o branch atual em git, ou seja, o branch em que você está trabalhando no momento Fala […]

Como remover remote origin de repositório em git
Neste artigo você vai aprender a como remover remote origin de repositório em git, com apenas um comando! Fala programador(a), beleza? Bora aprender mais sobre […]
O que é GIT e GitHub? Para que serve, diferenças e cursos
Seja bem-vindo ao nosso guia completo sobre uma das ferramentas mais cruciais e universalmente utilizadas no mundo da tecnologia da informação: o Git e Github. […]

Muito bom, me ajudou aqui deu tudo certo
show!