Sobes.tech
Junior

Kuidas lahendate konflikte Git-is?

sobes.tech AI

Vastus AI-lt

Kui teete pull või rebase, toimub muudatuste ühendamine. Kui Git ei suuda automaatselt lahendada failides konflikteerivaid ridu, märgib ta need spetsiaalsete markeritega:

<<<<<<< HEAD
rida praegusest harust
=======
rida ühendatavast harust
>>>>>>> feature/uus-funktsioon

Konflikti lahendamiseks:

  1. Avage konfliktne fail redaktoris.

  2. Redigeerige faili käsitsi, valides mõlemast versioonist vajalikud osad või luues uue kombinatsiooni.

  3. Eemaldage markerid <<<<<<<, =======, >>>>>>>.

  4. Salvestage fail.

  5. Lisage lahendatud fail indeksisse git add abil:

    # Lisa konkreetne fail
    git add tee/lahendatud/fail.txt
    
    # Lisa kõik lahendatud failid
    git add .
    
  6. Tehke commit, et ühendamine lõpetada:

    # Ühendamise ajal
    git commit -m "Konflikt lahendatud"
    
    # Rebase ajal
    git rebase --continue
    

Kui konflikte on palju või need on keerulised, saate kasutada ühendustööriistu:

git mergetool

See avab graafilise tööriista, mis aitab samm-sammult konflikte lahendada.

Kui tekib raskusi rebase'i ajal, saate kasutada:

  • git rebase --abort: Rebase tühistada ja naasta eelnevale olekule.
  • git rebase --skip: Jätta vahele praegune konfliktne commit (võib olla ohtlik).

Oluline on pärast konfliktide lahendamist teha testid, et veenduda, et kood töötab õigesti.