Come rinominare un branch GIT in locale e in remoto

di Lorenzo Neri
0 commento 92 visualizzazioni

Se te lo stessi chiedendo, è possibile rinominare un branch GIT in locale e in remoto. È un processo che richiede un po’ di accorgimenti, ma lo vedremo assieme in questo articolo.

Abbiamo visto in un altro articolo come rinominare i branch in locale e ho scritto anche che non è un processo sufficiente a rendere effettive le modifiche in remoto: scopriamo come fare.

Il processo che permette di rinominare un branch GIT in locale e in remoto può avvenire in due modi:

  1. Rinominare il branch in locale
  2. Eseguire il push del branch con il nome nuovo mantenendo il nome originale in locale

Rinominare sia il branch locale sia il branch remoto

I comandi da eseguire sono i seguenti

git branch -m <nome-vecchio> <nome-nuovo>

git push <remoto> --delete <nome-vecchio>

#Se sei pigro puoi fare così:

git push <remoto> :<nome-vecchio>

git push <remoto> <nome-nuovo>

#Infine, per entrambe le varianti

git push <remoto> -u <nome-nuovo>

In questo modo, abbiamo sostanzialmente creato in prima istanza un nuovo branch in locale. Dopodiché abbiamo creato la sua copia in remoto, rimuovendo i riferimenti al nome vecchio poiché bisogna mantenere la referenza con gli stessi nomi: in locale e in remoto.

Altrimenti, le cose non funzionano come dovrebbero. Ciò detto, l’ultimo comando che ho inserito prima, serve a una cosa molto importante.

Esegue il reset dell’upstream per il nuovo branch. Non te lo scordare!

Come rinominare solamente il branch remoto

Potrebbe capitare che del branch in locale non te ne freghi assolutamente nulla, ma ti interessa agire in remoto.

In questo caso:

git push <remoto> <remoto>/<nome-vecchio>:refs/heads/<nuovo-nome>:<nome-vecchio>

In questo caso, cosa stiamo facendo?

Quello che succede qui è questo. Stiamo eseguendo la push del branch al repository remoto con il nome nuovo ma nel frattempo, stiamo mantenendo il nome del branch in locale così come è sempre stato.

Di fatto, se noterai nel comando, la parte di riga che fa riferimento ai riferimenti (giuro che non volevo fare un battuta… No non è vero), creerà l’associazione fra il nuovo nome e il nome vecchio, rispettivamente tra remoto e locale.

Potrebbero interessarti

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ù