Fusione 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.
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:
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:
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:
Sei ancora sul branch master, ma ora è aggiornato con il branch feature, con entrambi i branch che puntano allo stesso commit.
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:
- Git identifica le modifiche apportate su ciascun ramo dopo il più recente antenato comune;
- Se ogni ramo presenta modifiche in file diversi o in parti diverse dello stesso file, Git unirà automaticamente le modifiche combinandole nel commit risultante;
- Altrimenti si verificherà un conflitto di merge.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Awesome!
Completion rate improved to 3.57
Fusione 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.
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:
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:
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:
Sei ancora sul branch master, ma ora è aggiornato con il branch feature, con entrambi i branch che puntano allo stesso commit.
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:
- Git identifica le modifiche apportate su ciascun ramo dopo il più recente antenato comune;
- Se ogni ramo presenta modifiche in file diversi o in parti diverse dello stesso file, Git unirà automaticamente le modifiche combinandole nel commit risultante;
- Altrimenti si verificherà un conflitto di merge.
Grazie per i tuoi commenti!