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 Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
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 SAAS com IA
Tire usas ideias do papel criando softwares com IA, integre pagamentos e lance seu projeto!
- 291 aulas
- 18 projetos
- 24h 17min
Blog | Mais populares
As diferenças de var, let e const
Como fazer redirecionamento com PHP
Neste artigo você vai aprender a como fazer redirecionamento com PHP, utilizaremos abordagens fáceis de entender e de aplicar Fala programador(a), beleza? Bora aprender mais […]
ChatGPT: o que é, como usar, dicas e como acessar login
ChatGPT é uma ferramenta de processamento de linguagem natural (NLP) baseada na arquitetura GPT-3.5, desenvolvida pela OpenAI. Sua criação representa um marco significativo no campo […]

Muito bom, me ajudou aqui deu tudo certo
show!