Jak rozwiązujesz konflikty w Git?
sobes.tech AI
Odpowiedź od AI
Podczas wykonywania pull lub rebase dochodzi do scalania zmian. Jeśli Git nie może automatycznie rozwiązać konfliktujących linii w plikach, oznacza je specjalnymi markerami:
<<<<<<< HEAD
linia z bieżącej gałęzi
=======
linia z gałęzi, którą scalamy
>>>>>>> feature/nowa-funkcjonalność
Aby rozwiązać konflikt:
-
Otwórz plik z konfliktem w edytorze.
-
Ręcznie edytuj plik, wybierając potrzebne części z obu wersji lub tworząc nową kombinację.
-
Usuń markery
<<<<<<<,=======,>>>>>>>. -
Zapisz plik.
-
Dodaj rozwiązany plik do indeksu za pomocą
git add:# Dodaj konkretny plik git add ścieżka/do/rozwiązany/plik.txt # Dodaj wszystkie rozwiązane pliki git add . -
Wykonaj commit, aby zakończyć scalanie:
# Podczas scalania git commit -m "Rozwiązano konflikt scalania" # Podczas rebase git rebase --continue
Jeśli konfliktów jest dużo lub są skomplikowane, można użyć narzędzi do scalania:
git mergetool
Otworzy to graficzne narzędzie pomagające krok po kroku przejść przez konflikty.
W przypadku trudności podczas rebase, można użyć:
git rebase --abort: Anulować rebase i wrócić do stanu sprzed.git rebase --skip: Pominąć bieżący commit z konfliktem (może być niebezpieczne).
Ważne jest, aby po rozwiązaniu konfliktów przetestować zmiany, aby upewnić się, że kod działa poprawnie.