Merge-Konflikte

Git für Fortgeschrittene

George Boorman

Curriculum Manager, DataCamp

Konflikte

  • Konflikt

    • Probleme beim Mergen von Inhalten in einer oder mehreren Dateien zwischen verschiedenen Branches
  • Bearbeite selbe Datei in zwei Branches

  • Versuche, zu mergen

  • Git weiß nicht, welche Version es behalten soll

  • Konflikt!

Git für Fortgeschrittene

Widersprüchliche Versionen von 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 für Fortgeschrittene

Merging

  • Aus dem main-Branch
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 für Fortgeschrittene

Datei öffnen

nano README.md

README-Datei, die Konfliktabschnitte mit nano anzeigt

Git für Fortgeschrittene

Syntax von Git-Konflikten

kommentierte Konfliktdatei, die Inhalt des main-Branches dem documentation-Branch gegenüberstellt

Git für Fortgeschrittene

Konflikt lösen

Nano-Webeditor löscht Git-Syntax <<<<<<< documentation, ======= und >>>>>>> HEAD

  • Speichern: Strg + O (nicht Strg + 0), dann Enter
  • Beenden: Strg + X
Git für Fortgeschrittene

Branches mergen

  • Mergen, da Konflikt gelöst
git add README.md
git commit -m "Resolving README.md conflict"
git merge documentation
Already up to date.
  • Konflikten vorzubeugen ist besser als sie beheben zu müssen!
Git für Fortgeschrittene

Lass uns üben!

Git für Fortgeschrittene

Preparing Video For Download...