Menu
Coddy logo textTech

Conflitti di merge

Fa parte della sezione Controllo delle versioni del percorso Terminal di Coddy. Lezione 37 di 58.

Se entrambi i rami hanno modificato le stesse righe dello stesso file, Git non può indovinare quale versione mantenere. Mette in pausa l'unione e ti chiede di decidere.

Il file con conflitti presenta marcatori speciali che mostrano entrambe le versioni:

<<<<<<< HEAD
the version on main
=======
the version on feature
>>>>>>> feature

Il tuo compito è modificare il file manualmente: scegli una versione, combinale oppure scrivi qualcosa di nuovo. Poi rimuovi tutti i marcatori di conflitto (le righe <<<, ===, >>>).

Una volta che il file sembra corretto, aggiungilo all’area di staging e completa l’unione con un altro commit:

git add notes.txt
git commit -m "Resolve merge conflict in notes"

Se cambi idea a metà, puoi annullare l'intera operazione e tornare allo stato precedente all'unione:

git merge --abort
challenge icon

Sfida

Medio

La cartella contiene notes.txt con la riga hello.

Inizializza il repository e conferma il file iniziale. Crea il branch alt, modifica notes.txt in modo che contenga hi from alt e conferma.

Torna a main, modifica notes.txt in modo che contenga hi from main e conferma.

Prova a unire alt in main. L'unione genererà un conflitto. Annullala con git merge --abort, quindi stampa il contenuto di notes.txt con cat per confermare che il file sia tornato alla versione di main.

Provalo tu

Terminale
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Controllo delle versioni

Esercitati da solo: Playground Terminal