Conflicte la fuzionare

Git intermediar

George Boorman

Curriculum Manager, DataCamp

Conflicte

  • Conflict

    • Imposibilitatea de a reconcilia diferențele dintre conținuturile unuia sau mai multor fișiere din ramuri diferite
  • Editarea aceluiași fișier în două ramuri

  • Încercare de fuzionare

  • Git nu știe ce versiune să păstreze

  • Conflict!

Git intermediar

Versiuni conflictuale ale README.md

Ramura documentation

# 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.

Ramura main

# Contents and usage

This repo contains source code 
for the DataCamp website.

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

Fuzionarea

  • Din ramura 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 intermediar

Deschiderea fișierului

nano README.md

fișierul README afișând secțiunile de conflict în nano

Git intermediar

Sintaxa conflictelor Git

fișier de conflict adnotat cu conținutul din ramura main față de ramura documentation

Git intermediar

Rezolvarea conflictului

editorul nano ștergând sintaxa Git <<<<<<< documentation, =======, și >>>>>>> HEAD

  • Salvare: Ctrl + O (nu Ctrl + 0), apoi Enter
  • Ieșire: Ctrl + X
Git intermediar

Fuzionarea ramurilor

  • Fuzionare după rezolvarea conflictului
git add README.md
git commit -m "Resolving README.md conflict"
git merge documentation
Already up to date.
  • Prevenția este mai bună decât tratamentul!
Git intermediar

Să exersăm!

Git intermediar

Preparing Video For Download...