Conflitos de merge

Git intermediário

George Boorman

Curriculum Manager, DataCamp

Conflitos

  • Conflito

    • Incapacidade de resolver diferenças no conteúdo de um ou mais arquivos entre branches
  • Edite o mesmo arquivo em duas branches

  • Tente fazer merge

  • O Git não sabe qual versão manter

  • Conflito!

Git intermediário

Versões em conflito de README.md

documentation branch

# Contents and usage

This repo contains source code 
for the DataCamp website.

It also contains source code for an 
AI-Assistant (recommendation system) 
that takes prompts from learners and 
returns suggested content
that they might be interested in. 

It is for internal use only, 
external access is prohibited.

main branch

# Contents and usage

This repo contains source code 
for the DataCamp website.

It is for internal use only, 
external access is prohibited.
Git intermediário

Fazendo merge

  • Na branch main
git merge documentation
Auto-merging README.md
CONFLICT (add/add): Merge conflict in README.md
Automatic merge failed; fix conflicts and then commit the result.
Git intermediário

Abrindo o arquivo

nano README.md

arquivo README mostrando seções de conflito no nano

Git intermediário

Sintaxe de conflito do Git

arquivo com conflito anotado mostrando o conteúdo na branch main versus a branch documentation

Git intermediário

Resolvendo o conflito

editor web do nano apagando a sintaxe do Git <<<<<<< documentation, ======= e >>>>>>> HEAD

  • Salvar: Ctrl + O (não Ctrl + 0), depois Enter
  • Sair: Ctrl + X
Git intermediário

Fazendo merge das branches

  • Fazer o merge após resolver o conflito
git add README.md
git commit -m "Resolving README.md conflict"
git merge documentation
Already up to date.
  • Prevenir é melhor que remediar!
Git intermediário

Vamos praticar!

Git intermediário

Preparing Video For Download...