Sobes.tech
Junior

Kako rešavate konflikte u Git-u?

sobes.tech АИ

Одговор од АИ

Када извршите pull или rebase, долази до спајања измена. Ако Git не може аутоматски да реши линије у сукобу у датотекама, означава их посебним маркерима:

<<<<<<< HEAD
ред из тренутне гране
=======
ред из гране којом се спаја
>>>>>>> feature/нова-функција

Да бисте решили сукоб:

  1. Отворите сукобљену датотеку у уреднику.

  2. Руком уредите датотеку, бирајући потребне делове из обе верзије или креирајући нову комбинацију.

  3. Уклоните маркере <<<<<<<, =======, >>>>>>>.

  4. Сачувајте датотеку.

  5. Додајте решени фајл у индекс помоћу git add:

    # Додајте одређени фајл
    git add пут/до/решеног/файла.txt
    
    # Додајте све решене фајлове
    git add .
    
  6. Извршите комит за завршетак спајања:

    # Током спајања
    git commit -m "Решен конфликт спајања"
    
    # Током rebase
    git rebase --continue
    

Ако има много сукоба или су сложени, можете користити алате за спајање:

git mergetool

Ово ће отворити графички алат који помаже корак по корак кроз сукобе.

У случају потешкоћа током rebase, можете користити:

  • git rebase --abort: Отказати rebase и вратити се на претходно стање.
  • git rebase --skip: Прескочити тренутни сукобљени commit (може бити опасно).

Важно је тестирати промене након решавања сукоба како бисте били сигурни да код исправно ради.