Rebase
Rebase
è il processo di modifica della cronologia dei commit di un ramo applicando i commit di un altro ramo. Invece di utilizzare merge
per combinare le modifiche, rebase
consente di inserire insert
nuovi commit nella cronologia dei commit del ramo corrente senza creare commit di unione.
Ad esempio, supponiamo di avere due rami: feature-branch
e main
. Ci stai lavorando feature-branch
e vuoi applicare gli ultimi commit main
dal tuo ramo attuale. Puoi usare rebase per raggiungere questo obiettivo:
git checkout feature-branch
git rebase main
Quando esegui questo comando, Git prenderà i commit da main
e li applicherà a feature-branch
. Ciò significa che tutti i commit su feature-branch
appariranno dopo i commit da main
. Il risultato è una cronologia dei commit più pulita e leggibile su feature-branch
.
Tuttavia, quando si utilizza rebase, è importante notare che la modifica della cronologia dei commit può influire sui rami condivisi pubblicamente. Pertanto, se hai già eseguito il push dei commit dal ramo corrente a un repository remoto, in genere è consigliabile non utilizzare rebase su quel ramo per evitare conflitti e una cronologia dei commit disordinata.
Branch
Commutazione
Il cambio di ramo in Git si riferisce al processo di spostamento da un ramo all'altro. Quando cambi ramo, Git sposta il puntatore HEAD sul nuovo ramo, permettendoti di lavorare su quel ramo e apportare modifiche senza influire sugli altri rami.
Ad esempio, supponiamo che tu abbia branch feature-branch
e main
. Per passare a feature-branch
, dovresti usare il seguente comando:
git checkout feature-branch
Dopo aver cambiato ramo, puoi apportare modifiche nella directory di lavoro. Tutti i comandi commit
, add
e checkout
si applicheranno al ramo corrente.
Ad esempio, se aggiungi un nuovo file e ne esegui il commit su feature-branch
, solo quel ramo conterrà il commit, mentre main
rimane inalterato. Ciò consente di sviluppare funzionalità separate, correggere bug o lavorare su diverse versioni del codice in modo indipendente. Puoi passare da un ramo all'altro quando necessario per lavorare separatamente su ogni ramo.