Menu
Coddy logo textTech

Merge a tre vie

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

Se entrambi i rami sono progrediti in modo indipendente, Git non può semplicemente eseguire un avanzamento rapido. Esegue invece un merge a tre vie: esamina l’antenato comune e le punte dei due rami, quindi produce un nuovo commit che li combina.

Questo nuovo commit è il commit di merge. Ha due genitori, uno per ciascun ramo:

git switch main
git merge feature -m "Merge feature"

Il flag -m fornisce direttamente il messaggio del commit di merge, così Git non apre un editor.

La maggior parte delle volte Git può combinare automaticamente le modifiche di entrambi i rami, purché riguardino parti diverse dei file. I conflitti si verificano solo quando entrambi i rami hanno modificato le stesse righe; questo è l’argomento della prossima lezione.

challenge icon

Sfida

Medio

Inizi in una cartella nuova con top.txt (contenuto: a) e bottom.txt (contenuto: b).

Inizializza il repository, crea un primo commit, poi:

  1. Crea il branch feature e aggiungi la riga added a top.txt; crea un commit.
  2. Passa a main e aggiungi la riga added a bottom.txt; crea un commit.
  3. Unisci feature a main con il messaggio Merge feature.

Stampa il numero di commit raggiungibili da HEAD usando git rev-list --count HEAD. Il numero previsto è 4 (iniziale + feature + main + merge).

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