Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Fusione dei Rami | Lavorare con i Branch in Git
Nozioni Fondamentali di Git

bookFusione dei Rami

Comprendere la Fusione dei Rami

In Git, la fusione è il processo di integrazione delle modifiche da un ramo a un altro. Il caso d'uso più comune è la fusione dei rami feature nel ramo main (ad esempio, main o master). Questo garantisce che le ultime funzionalità e correzioni di bug siano incorporate nel codice principale.

Flusso di Lavoro di Base per la Fusione

Per prima cosa, visualizzare gli ultimi due commit. Ricorda che attualmente ti trovi sul ramo feature/new-feature.

Ultimi due commit sul ramo feature

Come puoi vedere, il branch master è indietro di un commit. Prima di eseguire il merge, è necessario passare al branch in cui verranno integrate le modifiche. Passare al branch master e visualizzare i due commit più recenti su di esso:

Passaggio a master e visualizzazione degli ultimi due commit

Il branch master è effettivamente indietro di un commit rispetto al branch feature. Per unirli, utilizzare il comando git merge e specificare il branch da unire al branch corrente. Ad esempio, per unire il branch feature/new-feature in master, eseguire:

Unione
Note
Nota

Il messaggio visualizzato dopo l'esecuzione del comando contiene quanto segue: Fast-forward, che indica che è stata eseguita una unione fast-forward.

In seguito, verranno analizzati i due tipi di unione in questo capitolo. Prima di ciò, visualizzare gli ultimi due commit:

Due ultimi commit dopo il merge

Sei ancora sul branch master, ma ora è aggiornato con il branch feature, con entrambi i branch che puntano allo stesso commit.

Note
Nota

Il HEAD punta ancora al branch master perché eri su questo branch durante l'esecuzione del merge.

Tipi di merge

Esistono due tipi di operazioni di merge in Git:

  • Merge fast-forward;
  • Merge a tre vie.

Merge fast-forward

Il merge che hai eseguito è un merge fast-forward, come indicato nel messaggio. Questo tipo si verifica quando tutti i commit del branch attualmente selezionato sono presenti anche nel branch che viene unito, ovvero le loro storie dei commit non divergono.

Consulta la seguente illustrazione per chiarimenti:

Con questo tipo di merge il puntatore del branch selezionato viene semplicemente aggiornato all'ultimo commit.

Merge a tre vie

Tuttavia, se la cronologia dei branch è diversa, ovvero dopo un certo commit comune sono stati effettuati nuovi commit separatamente su ciascun branch, viene eseguito un merge a tre vie.

Il termine "a tre vie" si riferisce alle tre versioni coinvolte nel merge:

  • la versione dell'antenato comune più recente (commit);
  • la versione dell'ultimo commit nel branch corrente (HEAD);
  • la versione dell'ultimo commit nel branch che viene unito.

Osserva la seguente illustrazione di questo tipo di merge:

Ecco come funziona un merge a tre vie:

  1. Git identifica le modifiche apportate su ciascun ramo dopo il più recente antenato comune;
  2. Se ogni ramo presenta modifiche in file diversi o in parti diverse dello stesso file, Git unirà automaticamente le modifiche combinandole nel commit risultante;
  3. Altrimenti si verificherà un conflitto di merge.
question mark

Seleziona tutti i tipi di merge.

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 4

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Awesome!

Completion rate improved to 3.57

bookFusione dei Rami

Scorri per mostrare il menu

Comprendere la Fusione dei Rami

In Git, la fusione è il processo di integrazione delle modifiche da un ramo a un altro. Il caso d'uso più comune è la fusione dei rami feature nel ramo main (ad esempio, main o master). Questo garantisce che le ultime funzionalità e correzioni di bug siano incorporate nel codice principale.

Flusso di Lavoro di Base per la Fusione

Per prima cosa, visualizzare gli ultimi due commit. Ricorda che attualmente ti trovi sul ramo feature/new-feature.

Ultimi due commit sul ramo feature

Come puoi vedere, il branch master è indietro di un commit. Prima di eseguire il merge, è necessario passare al branch in cui verranno integrate le modifiche. Passare al branch master e visualizzare i due commit più recenti su di esso:

Passaggio a master e visualizzazione degli ultimi due commit

Il branch master è effettivamente indietro di un commit rispetto al branch feature. Per unirli, utilizzare il comando git merge e specificare il branch da unire al branch corrente. Ad esempio, per unire il branch feature/new-feature in master, eseguire:

Unione
Note
Nota

Il messaggio visualizzato dopo l'esecuzione del comando contiene quanto segue: Fast-forward, che indica che è stata eseguita una unione fast-forward.

In seguito, verranno analizzati i due tipi di unione in questo capitolo. Prima di ciò, visualizzare gli ultimi due commit:

Due ultimi commit dopo il merge

Sei ancora sul branch master, ma ora è aggiornato con il branch feature, con entrambi i branch che puntano allo stesso commit.

Note
Nota

Il HEAD punta ancora al branch master perché eri su questo branch durante l'esecuzione del merge.

Tipi di merge

Esistono due tipi di operazioni di merge in Git:

  • Merge fast-forward;
  • Merge a tre vie.

Merge fast-forward

Il merge che hai eseguito è un merge fast-forward, come indicato nel messaggio. Questo tipo si verifica quando tutti i commit del branch attualmente selezionato sono presenti anche nel branch che viene unito, ovvero le loro storie dei commit non divergono.

Consulta la seguente illustrazione per chiarimenti:

Con questo tipo di merge il puntatore del branch selezionato viene semplicemente aggiornato all'ultimo commit.

Merge a tre vie

Tuttavia, se la cronologia dei branch è diversa, ovvero dopo un certo commit comune sono stati effettuati nuovi commit separatamente su ciascun branch, viene eseguito un merge a tre vie.

Il termine "a tre vie" si riferisce alle tre versioni coinvolte nel merge:

  • la versione dell'antenato comune più recente (commit);
  • la versione dell'ultimo commit nel branch corrente (HEAD);
  • la versione dell'ultimo commit nel branch che viene unito.

Osserva la seguente illustrazione di questo tipo di merge:

Ecco come funziona un merge a tre vie:

  1. Git identifica le modifiche apportate su ciascun ramo dopo il più recente antenato comune;
  2. Se ogni ramo presenta modifiche in file diversi o in parti diverse dello stesso file, Git unirà automaticamente le modifiche combinandole nel commit risultante;
  3. Altrimenti si verificherà un conflitto di merge.
question mark

Seleziona tutti i tipi di merge.

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 4
some-alt