Como desfazer um git merge? No repositório local
Neste artigo você vai aprender a como desfazer um git merge, de uma maneira simples, com apenas um comando

Fala programador(a), beleza? Bora aprender mais sobre merge, branches e também git!
Após fazer um merge errado, podemos desfazer esta mudança com o comando git reset
Vamos utilizar a flag –hard para isso
O comando completo é:
git reset --hard HEAD~1
Isso faz o branch atual resetar para a mudança anterior, ou seja, se a última foi o merge ele será desfeito
Quer aprender mais sobre git? Veja este curso gratuito:
Já se você realizou outros commits no processo terá que resetar pelo código do commit
Formação Claude Code
Domine Claude Code do absoluto zero até o avançado
- 120 aulas
- 4 projetos
- 9h 48min
Então comando fica:
git reset --hard codigo_do_commit
Esse código do commit se refere a Hash ou também pelo nome de sha
Você pode listar todos com:
git log
Este comando exibe todas as alterações feitas que foram commitadas, e o hash/código de cada commit
Conclusão
Neste artigo você aprendeu a como desfazer um git merge no seu repositório
Utilizamos o comando git reset com uma hash, para voltar a uma versão específica
Ou com HEAD~1 para desfazer apenas a última alteração, consequentemente desfazendo o merge
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!

VPS Hostinger para seu sistema
10% OFF extraVPS com SSD NVMe e backups semanais. O cupom MATHEUSHORADECODAR é aplicado automaticamente pelo link.
Ver planos com 10% OFF →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!
Tem uma pegadinha aqui que confunde muita gente
Uma coisa é DESFAZER um merge que já foi concluído
Outra coisa é CANCELAR um merge que travou no meio, cheio de conflito pra resolver
Se você deu o merge, apareceu aquele monte de conflito e você só quer voltar atrás sem resolver nada, o comando é esse:
git merge –abort
Ele joga o seu branch de volta pro estado exato de antes do merge começar, como se você nunca tivesse rodado o comando
Zero conflito pra resolver na mão, ele limpa tudo pra você
Se liga: o –abort só funciona enquanto o merge está em andamento (com conflito aberto). Depois que o merge foi concluído, aí é caso pro git reset lá de cima

Crie sistemas com IA para vender
Prompts, modelos e checklists para criar e publicar seu sistema com IA e preparar a oferta para o primeiro cliente.
Quero o e-book gratuito Receba o livro e os bônus no seu e-mail.Aqui muda o jogo
Se o merge já foi enviado pro repositório remoto (você deu push) e outras pessoas já baixaram, sair reescrevendo o histórico com reset pode dar dor de cabeça pro time todo
Nesse caso o mais seguro é reverter, não resetar
O git revert cria um novo commit que desfaz o efeito do merge, sem apagar o histórico
Como o merge junta duas linhas, você precisa dizer qual delas manter, com a flag -m
git revert -m 1 codigo_do_commit_do_merge
O -m 1 indica que você quer manter a branch principal (pra onde você mergeou)
Assim o histórico continua limpo e ninguém do time toma um susto com o repositório reescrito
Qual a diferença entre cancelar e desfazer um merge?
Cancelar é abortar o merge que ainda está no meio, com conflito aberto (git merge –abort)
Desfazer é voltar atrás num merge que já foi concluído (git reset, ou git revert se já deu push)
O git reset –hard apaga minhas alterações?
Sim, tome cuidado! A flag –hard descarta as mudanças que não foram commitadas
Se tiver algo importante que ainda não foi salvo, faça um commit ou um stash antes de rodar
Como eu sei o código do commit pra voltar?
Roda o git log e copia o hash do commit pra onde você quer voltar
Ele lista todos os commits com o código de cada um
Leia também
Formações
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 30min
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. […]
