Fusione dei Rami
Comprensione della fusione dei branch
In Git, la fusione è il processo di integrazione delle modifiche da un branch a un altro. Il caso d'uso più comune è la fusione dei branch feature nel branch main (ad esempio, main o master). Questo garantisce che le ultime funzionalità e correzioni di bug siano incorporate nel codice principale.
Flusso di lavoro base per la fusione
Per prima cosa, visualizzare gli ultimi due commit.
Attenzione: si è attualmente sul branch feature/new-feature.
Come puoi vedere, il branch master è un commit indietro.
Prima di eseguire il merge, è necessario passare al branch in cui verranno integrate le modifiche.
Passa al branch master e visualizza gli ultimi due commit su di esso:
Il branch master è effettivamente un commit indietro 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 la seguente dicitura: Fast-forward, che indica che è stata eseguita una fusione fast-forward.
Esaminerai i due tipi di merge più avanti in questo capitolo. Prima di ciò, visualizza 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 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 si sta unendo, ovvero le loro storie dei commit non divergono.
Fare riferimento alla 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 si sta unendo.
Consultare 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;
- In caso contrario 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
Comprensione della fusione dei branch
In Git, la fusione è il processo di integrazione delle modifiche da un branch a un altro. Il caso d'uso più comune è la fusione dei branch feature nel branch main (ad esempio, main o master). Questo garantisce che le ultime funzionalità e correzioni di bug siano incorporate nel codice principale.
Flusso di lavoro base per la fusione
Per prima cosa, visualizzare gli ultimi due commit.
Attenzione: si è attualmente sul branch feature/new-feature.
Come puoi vedere, il branch master è un commit indietro.
Prima di eseguire il merge, è necessario passare al branch in cui verranno integrate le modifiche.
Passa al branch master e visualizza gli ultimi due commit su di esso:
Il branch master è effettivamente un commit indietro 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 la seguente dicitura: Fast-forward, che indica che è stata eseguita una fusione fast-forward.
Esaminerai i due tipi di merge più avanti in questo capitolo. Prima di ciò, visualizza 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 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 si sta unendo, ovvero le loro storie dei commit non divergono.
Fare riferimento alla 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 si sta unendo.
Consultare 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;
- In caso contrario si verificherà un conflitto di merge.
Grazie per i tuoi commenti!