Definição
Merge é a operação que combina alterações de uma linha de desenvolvimento com outra. No Git, ele une o histórico de duas branches e produz um ponto de integração. Quando as alterações não se sobrepõem, o Git combina tudo automaticamente. Quando se sobrepõem, a conciliação passa a exigir trabalho manual.
Quando surge o conflito
O conflito aparece quando as duas branches alteram o mesmo trecho de um arquivo de formas diferentes. O Git sinaliza as partes divergentes e espera que você monte o resultado. Resolver o conflito é escolher o resultado final e registrar essa escolha em um novo commit.
git switch main
git merge novo-campo-cadastroMerge sem conflito não garante comportamento
Um merge concluído sem conflito de texto não garante ausência de conflito de comportamento. Duas alterações podem se combinar sem sobreposição e ainda produzir um efeito inesperado, como uma regra que passa a valer em um caso novo. Por isso a integração acompanha testes depois do merge.
O conflito que parece resolvido
No exemplo das duas branches, resolver o conflito é escolher o resultado final. A falha provável é resolver o trecho mantendo uma das versões e apagando, sem perceber, a intenção da outra alteração. A verificação depois do merge compara o arquivo final com o que cada branch pretendia, roda os testes e exercita o cenário combinado. O merge concluído não termina o trabalho: ele abre a etapa de conferir se o resultado integrado se comporta como o esperado.
Entenda a linha de desenvolvimento que o merge integra: a branchDúvidas frequentes
Perguntas frequentes sobre Merge
- O que o merge faz?
- Ele combina as alterações de uma linha de desenvolvimento com outra e une os históricos de commits.
- Quando surge um conflito?
- Quando as duas linhas alteram o mesmo trecho de um arquivo de formas diferentes. O Git sinaliza as partes divergentes para conciliação.
- Merge sem conflito garante comportamento correto?
- Não. A ausência de conflito textual não elimina conflitos de comportamento, por isso a integração acompanha testes.
Para continuar
Recursos relacionados
Documentação
Git Reference: git merge
Descreve o comando que integra uma linha de desenvolvimento em outra.
Abrir recursoDocumentação
Pro Git: Basic Branching and Merging
Mostra o fluxo de criar branches, integrar e resolver conflitos.
Abrir recursoAplicação na formação
Developer Workspace
Na Formação Developer Workspace, o merge integra o trabalho de uma branch à linha principal e mostra onde as alterações precisam ser conciliadas.
Conhecer a formaçãoFontes consultadas
Referências deste verbete
Este verbete ajudou você?
Obrigado pela resposta. Ela fica salva apenas neste navegador.