Menu
Coddy logo textTech

Conflitos de Merge

Parte da seção Controle de Versão do Journey de Terminal da Coddy — lição 37 de 58.

Se ambos os branches alteraram as mesmas linhas do mesmo arquivo, o Git não consegue adivinhar qual versão manter. Ele pausa o merge e solicita que você decida.

O arquivo em conflito recebe marcadores especiais mostrando ambas as versões:

<<<<<<< HEAD
the version on main
=======
the version on feature
>>>>>>> feature

Seu trabalho é editar o arquivo manualmente: escolha uma versão, combine-as ou escreva algo novo. Em seguida, remova todos os marcadores de conflito (as linhas <<<, ===, >>>).

Assim que o arquivo parecer correto, prepare-o (stage) e finalize a mesclagem com outro commit:

git add notes.txt
git commit -m "Resolve merge conflict in notes"

Se você mudar de ideia no meio do caminho, você pode abortar tudo e voltar ao estado anterior ao merge:

git merge --abort
challenge icon

Desafio

Médio

A pasta contém notes.txt com a linha hello.

Inicialize o repositório e faça o commit do arquivo inicial. Crie um branch chamado alt, altere notes.txt para dizer hi from alt e faça o commit.

Volte para o main, altere notes.txt para dizer hi from main e faça o commit.

Tente fazer o merge de alt no main. O merge terá um conflito. Aborte-o com git merge --abort, então imprima o conteúdo de notes.txt com cat para confirmar que o arquivo voltou para a versão do main.

Folha de consulta

Quando ambos os branches editam as mesmas linhas, o Git pausa o merge e adiciona marcadores de conflito ao arquivo:

<<<<<<< HEAD
the version on main
=======
the version on feature
>>>>>>> feature

Edite o arquivo para o resultado desejado, remova todos os marcadores, então faça o stage e o commit:

git add notes.txt
git commit -m "Resolve merge conflict in notes"

Para cancelar o merge e restaurar o estado anterior ao merge:

git merge --abort

Experimente você mesmo

Terminal
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Controle de Versão