O que é conflito de merge
Conflito de merge ocorre quando duas linhas alteram o mesmo trecho e o Git não consegue combinar as mudanças sozinho. O arquivo recebe marcas que separam a versão de cada lado.
O conflito não é um erro de ferramenta. Ele mostra que duas alterações disputam o mesmo ponto, e a resolução exige a leitura do efeito de cada uma.
Como o Git apresenta o conflito
O trecho conflitante vem entre marcadores, com a versão da branch atual e a versão que está sendo integrada. O restante do arquivo segue como estava.
O comando de status lista os arquivos pendentes. A comparação mostra o que cada lado alterou, e a leitura do trecho evita escolher uma versão pela posição.
Como resolver
A resolução combina as duas mudanças ou escolhe uma delas com justificativa. Depois da edição, o arquivo é marcado como resolvido e o merge continua.
A conferência inclui os testes e a leitura da comparação das alterações. O commit de merge registra a integração, e a pull request mostra a alteração para revisão.
Exemplo
Como conferir
Leia o trecho marcado, o histórico de cada branch e a comparação completa. Execute os testes depois da resolução e confira se o comportamento esperado das duas mudanças continua presente.
O merge integra as linhas, e a branch mantém o trabalho separado. A leitura do conflito é uma revisão de código em escala pequena.
Dúvidas frequentes
Perguntas frequentes sobre Conflito de merge
- Todo merge gera conflito?
- Não. O conflito aparece quando duas linhas alteram o mesmo trecho ou quando uma remove o arquivo que a outra modificou. Mudanças em partes diferentes seguem sem intervenção.
- O Git escolhe a versão correta?
- Não. O Git marca o trecho e solicita a escolha. A resolução precisa considerar as duas mudanças e o comportamento esperado do sistema.
- Posso apagar uma das versões?
- Só quando a outra cobre o mesmo efeito. Apagar sem leitura remove uma alteração válida, e o teste não necessariamente detecta a perda.
- Como conferir a resolução?
- Leia a comparação completa, execute os testes e confira o comportamento do trecho. O commit de merge precisa registrar o que foi decidido.
Para continuar
Recursos relacionados
Documentação
GitHub: resolver conflitos de merge
Explica a origem do conflito e o caminho de resolução.
Abrir recursoDocumentação
Git: documentação do merge
Descreve o comando, as estratégias e a marcação do conflito.
Abrir recursoAplicação na formação
Developer Workspace
No Developer Workspace, o conflito de merge aparece na rotina de branch e na revisão da alteração antes de publicar.
Conhecer a formação
Fontes consultadas
Referências deste verbete
Este verbete ajudou você?
Obrigado pela resposta. Ela fica salva apenas neste navegador.