Kako rešavate konflikte u Git-u?
sobes.tech АИ
Одговор од АИ
Када извршите pull или rebase, долази до спајања измена. Ако Git не може аутоматски да реши линије у сукобу у датотекама, означава их посебним маркерима:
<<<<<<< HEAD
ред из тренутне гране
=======
ред из гране којом се спаја
>>>>>>> feature/нова-функција
Да бисте решили сукоб:
-
Отворите сукобљену датотеку у уреднику.
-
Руком уредите датотеку, бирајући потребне делове из обе верзије или креирајући нову комбинацију.
-
Уклоните маркере
<<<<<<<,=======,>>>>>>>. -
Сачувајте датотеку.
-
Додајте решени фајл у индекс помоћу
git add:# Додајте одређени фајл git add пут/до/решеног/файла.txt # Додајте све решене фајлове git add . -
Извршите комит за завршетак спајања:
# Током спајања git commit -m "Решен конфликт спајања" # Током rebase git rebase --continue
Ако има много сукоба или су сложени, можете користити алате за спајање:
git mergetool
Ово ће отворити графички алат који помаже корак по корак кроз сукобе.
У случају потешкоћа током rebase, можете користити:
git rebase --abort: Отказати rebase и вратити се на претходно стање.git rebase --skip: Прескочити тренутни сукобљени commit (може бити опасно).
Важно је тестирати промене након решавања сукоба како бисте били сигурни да код исправно ради.