O que é um conflito de merge no Git e como resolvê-lo sem perder alterações?

Publicado em 2026-10-20 por frfrand

Cómo aparecen los conflictos de Git, qué significan los marcadores de conflicto y cómo resolverlos con pruebas y sin descartar trabajo.

O que é um conflito de merge no Git e como resolvê-lo sem perder alterações?

Um conflito de merge ocorre quando o Git não consegue decidir automaticamente como combinar certas alterações de duas linhas de desenvolvimento. Não significa que arquivos foram perdidos ou que alguém programou mal: significa que é necessária uma decisão humana.

É comum quando duas pessoas modificam as mesmas linhas de um arquivo, ou quando um ramo exclui algo que outro modificou.

Duas pessoas editando o mesmo cartaz

Imaginemos que há um cartaz que diz «Abrimos às 9». Uma pessoa o altera para «Abrimos às 8» e outra escreve «Abrimos às 10». Não existe uma resposta correta que uma máquina possa inferir sem conhecer a intenção.

Isso é parecido com um conflito do Git. Ele pode reunir muitas alterações sem ajuda, mas há situações em que mostrar as alternativas é mais seguro do que inventar uma mistura.

Como se parece um conflito?

Um arquivo pode terminar com marcas como estas:

<<<<<<< HEAD
horario = "08:00"
=======
horario = "10:00"
>>>>>>> feature/horarios

A primeira parte representa uma versão e a segunda outra. Essas linhas não devem ficar no código final. Seu trabalho é decidir qual comportamento deve ser mantido, ou escrever uma terceira solução que combine as intenções.

Os nomes e etiquetas podem variar de acordo com a operação e a ferramenta.

Uma forma ordenada de resolvê-lo

  1. Execute git status para identificar quais arquivos precisam de atenção.
  2. Abra cada conflito e compreenda o que cada ramo estava tentando fazer.
  3. Edite o arquivo até obter um resultado correto, removendo as marcas.
  4. Execute testes ou pelo menos a verificação relevante.
  5. Use git add arquivo para indicar que resolveu esse conflito.
  6. Conclua a operação de merge com o procedimento que o Git indicar.

Não basta conseguir que o texto compile: as duas alterações podem ter regras de negócio incompatíveis. Se um ramo adicionou um desconto e outro modificou os impostos, combiná-los sem olhar pode produzir números incorretos.

Posso ficar automaticamente com uma versão?

Existem opções que privilegiam um lado ou outro do conflito. Podem ser úteis em situações concretas, mas usá-las indiscriminadamente equivale a jogar o trabalho de um ramo no lixo.

A diferença entre resolver um conflito e escondê-lo é entender o resultado.

E se eu quiser cancelar?

Enquanto você está em uma operação de merge em andamento, git merge --abort pode tentar restaurar o estado anterior. Ainda assim, convém evitar começar operações complexas com modificações locais não salvas, porque nem sempre é possível recuperar qualquer estado automaticamente.

Antes de mesclar alterações importantes, faça um commit coerente ou salve temporariamente seu trabalho de forma deliberada.

Como reduzir conflitos em equipe

Integre mudanças com frequência, mantenha as tarefas separadas quando for razoável e evite que várias pessoas editem continuamente o mesmo arquivo enorme. Os pull requests ajudam a conversar sobre o comportamento esperado antes de integrar.

Um conflito não é culpa automática de uma pessoa. Às vezes simplesmente indica que o trabalho avançou em paralelo.

Como isso se reflete no ArduMaker?

Se um aplicativo for implantado a partir de um repositório no ArduMaker, resolva os conflitos e verifique o resultado antes de enviar o branch usado em produção. Um implante automático só pode executar o código que recebeu: não sabe qual decisão de negócios era a correta.

Em uma frase: O Git pode detectar quando não sabe mesclar mudanças. Resolver o conflito é decidir a lógica final, verificá-la e registrar a integração.

Fontes: Git merge · Conflitos de merge no Pro Git.

O que é um conflito de merge no Git e como resolvê-lo sem perder alterações?
  • Git
  • merge
  • conflictos

Continuar lendo

Todos os artigos · Planos VPS