Come spostare il commit più recente su un nuovo branch in git

di Lorenzo Neri
Published: Last Updated on

Come spostare il commit più recente su un nuovo branch in git? Si può fare? Come? In questo articolo scopriamo assieme i passi da fare!

Ciao mi chiamo Lorenzo Neri e sono un informatico: mi occupo di realizzare contenuti che aiutino persone come te a padroneggiare l’arte del nuovo millennio, l’informatica!

Devi sapere che git è uno strumento, anzi, che dico, un grandissimo alleato, quando si tratta di gestire progetti software con più persone: di fatto non posso che invitarti a scoprire tutti gli articoli che ho scritto a riguardo con un click qui!

Tra tutte le cose che ci mette a disposizione come operazioni che possiamo eseguire per gestire al meglio i branch, c’è anche quella di spostare il commit più recente che hai fatto su un nuovo branch. Ah giusto, è arrivato anche il momento di parlarne e capire come farlo!

Passo uno: ottenere il commit più recente

Stiamo parlando del commit più recente: potrebbe non essere quello dove sei attualmente “checkato”!

Come fare ad ottenere il commit più recente in un sol colpo?

Con il comando “ll”:

git ll

Se noterai il risultato, qua non c’entra più nulla il branch: solo l’ordine di registrazione dei commit stessi.

Per intenderci:

Quello più in alto è il commit più recente: del resto ce lo dice anche la data e l’orario. Ora che abbiamo capito come ottenerlo, vediamo come spostare il commit più recente su un nuovo branch in git.

Passo due: creare un nuovo branch

Beh, del resto ci serve un nuovo branch: non fare quella faccia!

Quindi, vado a creare il mio nuovo branch:

git branch il_mio_nuovo_branch

E mi ci posiziono:

git checkout il_mio_nuovo_branch

Ora? Viene il bello.


Passo tre: spostiamo il commit più recente sul nuovo branch!

Riprendendo le informazioni di prima, devo prendermi l’hash del mio commit più recente!

E poi? E poi usare il comando “cherry-pick” per prendere quel commit e portarlo sul mio nuovo branch:

git cherry-pick hash_del_commit_piu_recente

con questo comando, se tutto è andato a buon fine, otterremo questa risposta:

[il_mio_nuovo_branch parte_iniziale_dell_hash] messaggio_commit
 Date: Thu Jun 3 11:04:40 2021 +0200
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 feature.txt

Ma non sempre le cose vanno a buon fine: potresti trovarti sovrascritture dei file e questa cosa a git non va MAAAAAAI giù.

Ma non ti devi ugualmente preoccupare perché la soluzione c’è, ed è a distanza di un click proprio qui.

Continua a scoprire di più con questi articoli!

Lascia un commento

Questo sito potrebbe fare uso di cookie e siccome l'UE mi obbliga a fartelo presente, eccoti il classico banner dove puoi decidere come gestirli. Accetta Leggi di più