Articolo originale: How to Delete a Git Branch Both Locally and Remotely di freeCodeCamp.org

Tradotto e adattato da: Ilenia Magoni

Nella maggior parte dei casi è semplice eliminare un branch di Git. In questo articolo imparerai come eliminate un branch di Git in locale ed in remoto.

Versione breve

// eliminare il branch localmente
git branch -d nomeDelBranchLocale

// eliminare il branch in remoto
git push origin --delete nomeDelBranchRemoto

Quando eliminare i branch

È comune che un repository Git abbia diversi branch. Sono un ottimo modo per lavorare su diverse cose isolando il nuovo codice dal codebase principale.
I repository hanno spesso un branch main per il codebase principale e gli sviluppatori creano altri branch per lavorare su cose diverse.
Una volta completato il lavoro, è spesso raccomandato di eliminare il branch.

Eliminare un branch in LOCALE

Git non ti lascerà eliminare il branch su cui sei, quindi devi usare checkout per spostarti su un branch che NON stai eliminando. Per esempio: git checkout main
Elimina un branch con git branch -d <branch>.
Per esempio: git branch -d fix/authentication
L'opzione -d elimina il branch solo se questo è già stato inviato e unito al branch remoto. Usa -D se vuoi forzare l'eliminazione del branch anche se non è stato inviato e unito.
Il branch è ora stato eliminato dal locale.

Eliminare un branch in REMOTO

Questo è il comando per eliminare un branch in remoto: git push <remote> --delete <branch>.
Per esempio: git push origin --delete fix/authentication
Il branch è ora eliminato in remoto.
Puoi anche usare questo comando più breve per eliminare un branch in remoto: git push <remote> :<branch>
Per esempio: git push origin :fix/authentication
Se ottieni l'errore di seguito, potrebbe significare che qualcuno ha già eliminato il branch.

error: unable to push to unqualified destination: remoteBranchName
The destination refspec neither matches an existing ref on the remote nor begins with refs/, and we are unable to guess a prefix based on the source ref.
error: failed to push some refs to 'git@repository_name'

Prova a sincronizzare la tua lista dei branch usando

git fetch -p

L'opzione -p significa "prune" (sfrondare, ridurre). Dopo il fetch, i branch che non esistono più in remoto saranno eliminare.
Se questo tutorial è stato utile, la nostra organizzazione no-profit ha più di 8000 tutorial senza fronzoli come questo. Tutto gratuitamente, senza pubblicità. Dillo ai tuoi amici. 😉