Passo a passo: Como desfazer um merge que gerou conflitos no Git

Se um merge gerar conflitos no Git e não puder ser resolvido, é possível desfazê-lo utilizando comandos para restaurar o estado anterior do repositório.

Como desfazer um merge que gerou conflitos?

Se um merge gerou conflitos e você não deseja resolvê-los manualmente, pode desfazer a operação e restaurar o estado anterior do repositório.

1. Abortando um merge em andamento

Se o merge ainda não foi concluído e deseja cancelá-lo, use:

git merge --abort

Isso desfaz todas as alterações do merge e retorna o repositório ao estado anterior.

2. Desfazendo um merge já commitado

Se o merge já foi finalizado e commitado, mas você deseja revertê-lo, utilize:

git revert -m 1 HEAD

Isso cria um novo commit que desfaz o merge sem alterar o histórico do repositório.

3. Restaurando para um commit antes do merge

Se quiser voltar ao estado anterior ao merge e descartar as mudanças, use:

git reset --hard HEAD~1

⚠️ Atenção: O comando acima descarta as alterações. Se houver arquivos importantes não versionados, eles serão perdidos.

Erros ao mesclar branches são comuns no Git, especialmente em equipes grandes onde diferentes desenvolvedores trabalham nos mesmos arquivos. Quando um merge problemático acontece, é essencial saber como revertê-lo sem prejudicar o histórico do projeto.

O comando git merge --abort é útil para cancelar merges em andamento, enquanto git revert permite criar um commit de reversão caso o merge já tenha sido concluído. Saber quando usar cada um desses comandos ajuda a evitar problemas maiores no versionamento do código.

Algumas aplicações:

  • Cancelar um merge problemático sem comprometer o repositório
  • Restaurar o estado anterior do código após um conflito
  • Evitar perda de alterações importantes ao lidar com merges complexos
  • Facilitar o controle de versão ao trabalhar em equipe
  • Reverter alterações acidentais feitas durante um merge

Dicas para quem está começando

  • Antes de fazer um merge, sempre use 'git pull' para atualizar seu repositório.
  • Se um merge gerar conflitos inesperados, use 'git merge --abort' para cancelar.
  • Se o merge já foi commitado, use 'git revert' em vez de 'git reset' para evitar perder histórico.
  • Se precisar de mais controle, use 'git log' para encontrar um commit específico para restaurar.
  • Evite forçar merges sem revisar as diferenças entre as branches primeiro.

Contribuições de Tatiane Freitas

Compartilhe este tutorial: Como desfazer um merge que gerou conflitos

Compartilhe este tutorial

Continue aprendendo:

Como evitar conflitos ao trabalhar em equipe

Evitar conflitos no Git ao trabalhar em equipe exige sincronização frequente do código, divisão eficiente das tarefas e comunicação entre os desenvolvedores.

Tutorial anterior

O que significa CONFLICT (content): Merge conflict in no Git

O erro CONFLICT (content): Merge conflict in no Git ocorre quando há alterações conflitantes em um mesmo trecho de código e precisam ser resolvidas manualmente.

Próximo tutorial