Quando si sviluppa qualsiasi tipo di software o applicazione web, Git è uno strumento di lavoro praticamente indispensabile.

Il sistema di controllo versioni distribuite permette di coordinare l’attività di sviluppo del proprio team. A tal fine, Git dispone di una serie di semplici comandi che si possono apprendere velocemente, ma che non sono sempre intuitivi.

Questo vale soprattutto per situazioni come l’esecuzione di un git rename su un branch.

Il lavoro di squadra richiede comunicazione e i nomi dei branch, dato che sono pubblici, devono essere chiari e descrittivi. Questo può scontrarsi con l’esigenza comune di lavorare rapidamente. Per questo motivo, il nome che si dà a un branch per iniziare subito a lavorare sul codice potrebbe dover essere modificata in seguito per adattarlo meglio al progetto.

In questo post mostreremo come eseguire un git rename su un branch. Prima, però, scopriamo cos’è un branch in Git e vediamo in quali situazioni è preferibile rinominarlo.

Cos’è un Branch Git (e Perché Rinominarlo)?

Il controllo versioni di Git funziona per branch. Avrete un repository principale che conterrà tutti i vari branch del progetto, compreso quello principale (di cui parleremo più avanti).

Il vantaggio di Git consiste nel fatto che si può duplicare il branch principale, lavorare sul codice e poi unire le modifiche in un secondo momento, una volta finalizzato il tutto.

Anche Kinsta ha la possibilità di utilizzare Git per accedere al proprio sito tramite Secure Shell (SSH). Inoltre, è possibile collegarsi al proprio repo GitHub e distribuire un’applicazione in pochi clic attraverso il cruscotto di MyKinsta.

Una schermata di GitHub che mostra la richiesta
Autorizzare Kinsta su GitHub.

Tuttavia, nominare il branch è una operazione che molti sviluppatori eseguono di fretta. I motivi per cui potreste voler cambiare il nome di un branch in Git sono diversi:

  • Chiarezza: Vorrete assicurarvi che il branch offra totale chiarezza sulle modifiche al codice che comprende e sulle loro funzioni. Questo sarà importante durante le fusioni o l’eliminazione dei branch. Non si può tornare indietro dopo aver cancellato il branch sbagliato o averne dimenticato il nome.
  • Coerenza: Il branch potrebbe non seguire le convenzioni di denominazione stabilite dal team. Questo significa che dovrete rivedere i nomi dei branch in un secondo momento.
  • Standard moderni: Se si tratta di un progetto legacy o di un progetto a lungo termine del team, i branch potrebbero non corrispondere alle attuali convenzioni culturali di sensibilità. Ad esempio, è nato un movimento per cambiare il nome del branch principale da “master” a “main” o “trunk” per evitare riferimenti all’istituzione della schiavitù.

Per questi motivi (e altri ancora), spesso dovrete eseguire un git rename su un branch.

Di seguito vi spiegheremo come farlo.

Come rinominare un branch Git

Quando si tratta di eseguire un git rename su un branch, dovrete prendere in considerazione sia i repository locali che quelli remoti (ad esempio GitHub). La buona notizia è che la procedura che stiamo per illustrare coprirà tutte le varianti di cui avrete bisogno per farlo correttamente.

Per prima cosa, vediamo come individuare e modificare il nome di un branch. A tal fine, esamineremo i flag di comando che vi aiuteranno. Poi vedremo come assicurarci che il repo remoto corrisponda a quello locale.

1. Utilizzare i comandi git checkout e git branch

Il vostro primo compito è quello di individuare il branch da rinominare. Utilizzate il seguente comando:

git checkout current-name

Dove usiamo current-name, dovrete aggiungere il nome del branch. Se non conoscete il nome esatto o volete vedere l’elenco completo dei branch (magari per verificare le convenzioni all’interno del progetto), usate git branch --list o git branch -a.

Una finestra parziale del Terminale su uno sfondo sfumato di macOS, che mostra un elenco di comandi Git per un repo. L'utente è entrato nella cartella del sito locale e ha elencato i branch all'interno del repo.
Navigare ed elencare i branch all’interno di un repo Git.

Quando sarete arrivati al branch giusto, potrete rinominarlo utilizzando la seguente procedura:

git branch -m new-name

Anche in questo caso, dovrete assicurarvi di utilizzare un nome specifico del branch, anziché il nostro segnaposto. Il flag -m significa “sposta” ed è l’elemento del comando che provoca la rinominazione.

Una finestra parziale del Terminale su uno sfondo sfumato di macOS. L'utente naviga nella cartella del sito locale, elenca i branch all'interno del repo, si dirige verso un branch e ne cambia il nome con il comando.
Rinominare un branch all’interno di un repo Git.

Se il nome del nuovo branch che avete selezionato esiste già, potete forzare la modifica specificata utilizzando -M. Questa è la stessa tattica da utilizzare sui computer Windows se il nome del branch contiene un misto di lettere maiuscole e minuscole.

Una volta confermata la modifica, utilizzate git status per verificare se il nuovo nome è applicabile al vostro branch:

Una schermata parziale del Terminale su uno sfondo macOS. L'utente sta navigando in una cartella del sito locale, entrando in un branch specifico, cambiandone il nome e controllando che la modifica sia stata applicata usando i comandi Git..
Verificare che una rinomina Git sia avvenuta utilizzando git status.

Tuttavia, non è necessario utilizzare git checkout se preferite non farlo. Vediamo rapidamente questo aspetto in modo più dettagliato.

1(a). Rinominare un branch Git senza utilizzare git checkout

Questo metodo funziona solo se vi trovate nel branch principale del repo. In caso contrario, dovrete sempre utilizzare git checkout per raggiungere il branch principale.

In ogni caso, potete verificare la vostra posizione attuale nel repo usando git status. Il comando per cambiare il nome del branch è simile all’ultimo metodo, ma questa volta combinerete i nomi del branch attuale e di quello nuovo:

git branch -m current-name new-name

Dopo aver eseguito il comando, controllate l’elenco dei branch come conferma.

2. Inviare il banch rinominato alla Repo remota

Anche se questo metodo funziona per un repo locale, c’è qualcosa di più da fare quando si tratta di repo remoti. Molto spesso dovrete gestire i repo remoti all’interno del progetto e questo è un passaggio che non dovrete dimenticare.

Se saltate questa parte del processo, il nuovo branch continuerà a fare riferimento al nome del vecchio branch “upstream”. Il trucco consiste nel rimuovere il vecchio branch dal repo remoto, quindi effettuare il push del nuovo branch upstream.

Il primo passo è rinominare il branch locale, per poi eseguire un paio di comandi in successione.

Per prima cosa, eliminate il vecchio branch:

git push origin --delete old-branch

… poi eseguite il push del nuovo branch:

git push origin -u new-branch

In alternativa, sovrascrivete il nome del branch upstream utilizzando la seguente procedura:

git push origin: old-branch new-branch
git push origin -u new-branch

Anche in questo caso, eseguite git status per verificare se il nuovo branch punta al proprio riferimento, anziché a quello più vecchio. Se il riferimento punta al vecchio branch, usate git branch --unset-upstream per risolvere il problema.

Riepilogo

Git è un metodo intuitivo e potente per applicare il controllo versioni distribuite al codice del progetto.

Uno dei suoi vantaggi più flessibili è la possibilità di utilizzarlo sia per i repository locali che per quelli remoti. Tuttavia, alcune semplici operazioni (come rinominare i branch) richiedono più attenzione di altre.

In questo articolo abbiamo discusso come git rename un branch sia per i repository locali che per quelli remoti. Sebbene il comando in sé sia semplice, dovrete applicare alcuni comandi diversi per assicurarvi che i repository locali e remoti corrispondano. In caso contrario, ogni merging che effettuerete potrebbe presentare errori o riferimenti errati a repository vecchi o inesistenti.

Se avete bisogno di un’opzione di hosting sicura e intuitiva per la vostra applicazione o il vostro database basato su Git, non cercate oltre: le soluzioni di hosting di Applicazioni e di Database di Kinsta sono state realizzate pensando a progetti di ogni tipo e dimensione, comprese le applicazioni full-stack, e possono essere distribuite tramite GitHub in pochi minuti.

Il vostro progetto raggiungerà nuovi livelli di velocità grazie alle macchine C2 della rete Premium Tier di Google e la nostra integrazione Cloudflare vi proteggerà da qualsiasi problema di sicurezza. Inoltre, avrete tutte le build e gli utenti simultanei che vorrete a disposizione.

Date un’occhiata ai piani di Hosting di Applicazioni di Kinsta per trovare quello più adatto a voi e al vostro progetto, oppure provatelo gratuitamente. Per qualsiasi domanda, gli sviluppatori veterani di Kinsta saranno a vostra disposizione 24 ore su 24, 7 giorni su 7.