Sobes.tech
Junior

Come risolvi i conflitti in Git?

sobes.tech AI

Risposta dell'AI

Quando si esegue un pull o rebase, avviene una fusione di modifiche. Se Git non riesce a risolvere automaticamente le linee in conflitto nei file, le segna con marcatori speciali:

<<<<<<< HEAD
riga del branch corrente
=======
riga del branch che si sta unendo
>>>>>>> feature/nuova-funzionalità

Per risolvere il conflitto:

  1. Apri il file in conflitto in un editor.

  2. Modifica manualmente il file, scegliendo le parti necessarie di entrambe le versioni o creando una nuova combinazione.

  3. Rimuovi i marcatori <<<<<<<, =======, >>>>>>>.

  4. Salva il file.

  5. Aggiungi il file risolto all'indice con git add:

    # Aggiungi un file specifico
    git add percorso/del/file/risolto.txt
    
    # Aggiungi tutti i file risolti
    git add .
    
  6. Esegui un commit per completare la fusione:

    # Durante la fusione
    git commit -m "Risolto conflitto di merge"
    
    # Durante rebase
    git rebase --continue
    

Se ci sono molti conflitti o sono complessi, puoi usare strumenti di merge:

git mergetool

Questo aprirà uno strumento grafico che aiuta a passare passo passo attraverso i conflitti.

In caso di difficoltà durante il rebase, puoi usare:

  • git rebase --abort: Annulla il rebase e torna allo stato precedente.
  • git rebase --skip: Salta il commit in conflitto attuale (può essere rischioso).

È importante testare le modifiche dopo aver risolto i conflitti per assicurarsi che il codice funzioni correttamente.