Konflikty scalania
Część sekcji Kontrola wersji ścieżki Terminal w Coddy. Lekcja 37 z 58.
Jeśli obie gałęzie zmieniły te same wiersze tego samego pliku, Git nie może zgadnąć, którą wersję zachować. Wstrzymuje scalanie i prosi Cię o podjęcie decyzji.
Plik z konfliktem otrzymuje specjalne znaczniki pokazujące obie wersje:
<<<<<<< HEAD
the version on main
=======
the version on feature
>>>>>>> featureTwoim zadaniem jest ręczna edycja pliku: wybierz jedną wersję, połącz je albo napisz coś nowego. Następnie usuń wszystkie znaczniki konfliktu (linie <<<, ===, >>>).
Gdy plik będzie wyglądał poprawnie, dodaj go do poczekalni i sfinalizuj scalanie kolejnym zatwierdzeniem:
git add notes.txt
git commit -m "Resolve merge conflict in notes"Jeśli w trakcie zmienisz zdanie, możesz przerwać całą operację i wrócić do stanu sprzed scalania:
git merge --abortWyzwanie
ŚredniFolder zawiera plik notes.txt z wierszem hello.
Zainicjuj repozytorium i zatwierdź plik początkowy. Utwórz gałąź alt, zmień zawartość pliku notes.txt na hi from alt i zatwierdź zmiany.
Przełącz się z powrotem na main, zmień zawartość pliku notes.txt na hi from main i zatwierdź zmiany.
Spróbuj scalić alt z main. Podczas scalania wystąpi konflikt. Przerwij je za pomocą git merge --abort, a następnie wyświetl zawartość pliku notes.txt poleceniem cat, aby potwierdzić, że plik wrócił do wersji z gałęzi main.
Spróbuj swoich sił
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Kontrola wersji
4Przeglądanie zmian
Git DiffRóżnice w zmianach w poczekalniGit ShowPodsumowanie – praca detektywistyczna2Pierwsze kroki
Inicjalizacja repozytoriumFolder .gitKonfiguracja tożsamościStatus GitPodsumowanie — pierwsze repozytorium5Ignorowanie plików
Dlaczego ignorować plikiWzorce GitignoreSprawdzanie reguł ignorowaniaPodsumowanie — czyste repozytorium8Scalanie
Czym jest scalanieScalanie typu fast-forwardScalanie trójstronneKonflikty scalaniaRozwiązywanie konfliktuPowtórka — mistrz scalania11Projekt z gałęzią funkcjonalności
Przegląd projektuZainicjuj gałąź main3Śledzenie zmian
Obszar przygotowaniaGit AddGit CommitModyfikowanie śledzonego plikuGit LogPodsumowanie — pierwsze commity6Projekt strony z przepisami
Omówienie projektuInicjalizacja i ignorowanie plikówPoćwicz samodzielnie: Edytor online Terminal