Konflikty scalania

Git średnio zaawansowany

George Boorman

Curriculum Manager, DataCamp

Konflikty

  • Konflikt

    • Niemożność rozwiązania różnic w zawartości jednego lub więcej plików między gałęziami
  • Edycja tego samego pliku w dwóch gałęziach

  • Próba scalania

  • Git nie wie, którą wersję zachować

  • Konflikt!

Git średnio zaawansowany

Sprzeczne wersje pliku README.md

Gałąź 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.

Gałąź main

# Contents and usage

This repo contains source code 
for the DataCamp website.

It is for internal use only, 
external access is prohibited.
Git średnio zaawansowany

Scalanie

  • Z gałęzi 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 średnio zaawansowany

Otwieranie pliku

nano README.md

plik README pokazujący sekcje konfliktu w edytorze nano

Git średnio zaawansowany

Składnia konfliktu Git

opatrzony adnotacjami plik konfliktu pokazujący zawartość gałęzi main oraz gałęzi documentation

Git średnio zaawansowany

Rozwiązywanie konfliktu

edytor nano usuwający składnię Git: <<<<<<< documentation, =======, >>>>>>> HEAD

  • Zapis: Ctrl + O (nie Ctrl + 0), następnie Enter
  • Wyjście: Ctrl + X
Git średnio zaawansowany

Scalanie gałęzi

  • Scalanie po rozwiązaniu konfliktu
git add README.md
git commit -m "Resolving README.md conflict"
git merge documentation
Already up to date.
  • Lepiej zapobiegać niż leczyć!
Git średnio zaawansowany

Czas na ćwiczenia!

Git średnio zaawansowany

Preparing Video For Download...