Contenuti del Corso
Fondamenti di GitHub
Fondamenti di GitHub
Esecuzione di un'Operazione di Rebase
Rebase delle modifiche sul branch main
Prima di poter effettuare il rebase delle nostre modifiche, è necessario passare al branch main
e scaricare le ultime modifiche:
Esaminiamo ora l'albero dei commit:
Attualmente, sia il branch main
che il branch feature/payment
presentano commit successivi all'antenato comune più recente. Questo indica che non è possibile eseguire un fast-forward merge.
Se unissimo questi branch, si verificherebbe un three-way merge. Tuttavia, desideriamo mantenere una cronologia lineare, quindi eseguiamo un rebase del branch feature/payment
sul branch main
. Questo può essere fatto passando al branch feature/payment
ed eseguendo il comando git rebase
:
Merge Fast-forward
Poiché il rebase è stato completato con successo, diamo un'occhiata ancora una volta al nostro albero dei commit:
Come previsto, la cronologia dei commit è ora lineare con l'ultimo commit presente sul branch feature/payment
. Ora possiamo eseguire un semplice merge fast-forward sul branch main
:
Verifichiamo che entrambi i branch puntino allo stesso commit controllando l'ultimo commit:
Rimozione del Branch Feature
Il branch main
ora contiene l'ultimo commit con il sistema di pagamento implementato, quindi possiamo rimuovere in sicurezza sia il branch locale che quello remoto feature/payment
. Il seguente comando rimuove il branch remoto:
Ora possiamo rimuovere il branch locale:
Infine, tutte le modifiche apportate possono essere inviate al repository remoto:
Per verificare che il branch feature sia stato eliminato sia localmente che in remoto, puoi eseguire il seguente comando, che elenca tutti i branch locali e remoti (-a
sta per all):
Come puoi vedere, il branch feature/payment
è stato eliminato con successo e ora ci sono solo due branch: main
e john/test
con i rispettivi branch remoti.
In generale, il rebase funziona bene per le modifiche locali che non sono ancora state condivise, ma può causare problemi significativi per le modifiche già pubblicate su un repository remoto e possibilmente scaricate da altri collaboratori. Eseguire il rebase di commit utilizzati da altri può creare confusione e conflitti a causa della riscrittura della cronologia dei commit.
Come regola generale, evitare di eseguire il rebase di modifiche che sono state pushate su repository remoti per prevenire questi problemi.
Grazie per i tuoi commenti!