Cum rezolvi conflictele în Git?
sobes.tech AI
Răspuns de la AI
Când se face un pull sau rebase, are loc o fuziune a modificărilor. Dacă Git nu poate rezolva automat liniile în conflict din fișiere, le marchează cu markeri speciali:
<<<<<<< HEAD
linie din ramura curentă
=======
linie din ramura pe care se face merge
>>>>>>> feature/nouă-funcționalitate
Pentru a rezolva conflictul:
-
Deschide fișierul în conflict într-un editor.
-
Editează manual fișierul, alegând părțile necesare din ambele versiuni sau creând o combinație nouă.
-
Șterge markerii
<<<<<<<,=======,>>>>>>>. -
Salvează fișierul.
-
Adaugă fișierul rezolvat în index cu
git add:# Adaugă un fișier specific git add cale/către/fișier/resolvat.txt # Adaugă toate fișierele rezolvate git add . -
Efectuează un commit pentru a finaliza fuziunea:
# În timpul merge-ului git commit -m "Rezolvat conflictul de merge" # În timpul rebase-ului git rebase --continue
Dacă sunt multe conflicte sau sunt complexe, poți folosi instrumente de fuziune:
git mergetool
Aceasta va deschide un instrument grafic care te ajută să parcurgi pașii conflictelor.
În cazul dificultăților în timpul rebase, poți folosi:
git rebase --abort: Anulează rebase-ul și revino la starea anterioară.git rebase --skip: Sari peste commit-ul în conflict actual (poate fi riscant).
Este important să testezi modificările după rezolvarea conflictelor pentru a te asigura că codul funcționează corect.