Konflikty při slučování

Intermediate Git

George Boorman

Curriculum Manager, DataCamp

Konflikty

  • Konflikt

    • Neschopnost vyřešit rozdíly v obsahu jednoho nebo více souborů mezi větvemi
  • Úprava stejného souboru ve dvou větvích

  • Pokus o sloučení

  • Git neví, kterou verzi zachovat

  • Konflikt!

Intermediate Git

Konfliktní verze souboru README.md

Větev 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.

Větev main

# Contents and usage

This repo contains source code 
for the DataCamp website.

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

Slučování

  • Z větve 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.
Intermediate Git

Otevření souboru

nano README.md

soubor README zobrazující části konfliktu v editoru nano

Intermediate Git

Syntaxe konfliktu v Gitu

anotovaný soubor konfliktu zobrazující obsah ve větvi main oproti větvi documentation

Intermediate Git

Řešení konfliktu

nano editor mazající Git syntaxi <<<<<<< documentation, =======, a >>>>>>> HEAD

  • Uložení: Ctrl + O (ne Ctrl + 0), poté Enter
  • Ukončení: Ctrl + X
Intermediate Git

Sloučení větví

  • Slučování po vyřešení konfliktu
git add README.md
git commit -m "Resolving README.md conflict"
git merge documentation
Already up to date.
  • Prevence je lepší než léčba!
Intermediate Git

Pojďme procvičovat!

Intermediate Git

Preparing Video For Download...