Sobes.tech
Junior

Jak řešíte konflikty v Gitu?

sobes.tech AI

Odpověď od AI

Při pull nebo rebase dojde ke sloučení změn. Pokud Git nedokáže automaticky vyřešit konfliktní řádky v souborech, označí je speciálními markery:

<<<<<<< HEAD
řádek z aktuální větve
=======
řádek z větve, kterou slučujeme
>>>>>>> feature/nova-funkce

Pro vyřešení konfliktu:

  1. Otevřete konfliktující soubor v editoru.

  2. Ručně upravte soubor, vyberte potřebné části z obou verzí nebo vytvořte novou kombinaci.

  3. Odstraňte markery <<<<<<<, =======, >>>>>>>.

  4. Uložte soubor.

  5. Přidejte vyřešený soubor do indexu pomocí git add:

    # Přidat konkrétní soubor
    git add cesta/k/řešenému/souboru.txt
    
    # Přidat všechny vyřešené soubory
    git add .
    
  6. Pro dokončení sloučení proveďte commit:

    # Při sloučení
    git commit -m "Vyřešen konflikt sloučení"
    
    # Při rebase
    git rebase --continue
    

Pokud je konfliktů hodně nebo jsou složité, můžete použít nástroje pro sloučení:

git mergetool

Toto otevře grafický nástroj, který pomáhá krok za krokem projít konflikty.

V případě problémů během rebase můžete použít:

  • git rebase --abort: Zrušit rebase a vrátit se do předchozího stavu.
  • git rebase --skip: Přeskočit aktuální konfliktující commit (může být nebezpečné).

Je důležité po vyřešení konfliktů otestovat změny, aby bylo zajištěno, že kód funguje správně.