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

di Lorenzo Neri

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ù