Menu
Coddy logo textTech

Git Delete Branch: eliminare un branch locale

Ultimo aggiornamento

Quando il lavoro di un branch è stato unito, lo elimini con git branch -d <branch>. Git si rifiuta se il branch ha commit non uniti da nessuna parte: è un controllo di sicurezza. Per eliminarlo comunque, usa la -D maiuscola. Eliminare un branch locale non tocca mai la copia sul remote: per quella serve un comando separato.

Prova questi comandi nel terminal playground: una vera shell nel tuo browser, senza installare nulla.

git branch -d rimuove solo il puntatore del branch: i commit già uniti restano nella cronologia di main.

Sintassi

ComandoCosa fa
git branch -d featureElimina feature (solo se è già unito)
git branch -D featureForza l'eliminazione di feature anche se non è unito
git branch -d branch1 branch2Elimina più branch in una volta

Casi comuni

ObiettivoComando
Eliminare un branch già unitogit branch -d old-feature
Forzare l'eliminazione di un branch non unitogit branch -D scratch
Eliminare il branch su cui ti trovigit switch main poi git branch -d feature
Vedere quali branch sono già unitigit branch --merged

Esempio pratico

Completa una feature, fai il merge e ripulisci il branch locale.

PassoComandoRisultato
1git switch mainEsci dal branch che vuoi eliminare
2git merge featurePorta i commit della feature in main
3git branch -d featureElimina il branch ora unito

Domande frequenti su come eliminare un branch locale in Git

Che differenza c'è tra git branch -d e -D?
-d è l'eliminazione sicura: Git rimuove il branch solo se i suoi commit sono già stati uniti in un altro branch, così non puoi perdere lavoro per sbaglio. -D è l'eliminazione forzata (abbreviazione di --delete --force): rimuove il branch in ogni caso, anche se ha commit non uniti. Usa -d di default e ricorri a -D solo quando vuoi davvero buttare via i commit del branch.
Come elimino il branch su cui mi trovo?
Non puoi eliminare il branch di cui hai fatto il checkout. Passa prima a un altro branch con git switch main (o git checkout main), poi esegui git branch -d feature. Se provi a eliminare il branch corrente, Git risponde con l'errore "Cannot delete branch ... checked out".
Eliminare un branch locale lo elimina anche su GitHub?
No. git branch -d rimuove il branch solo dal tuo repository locale. Il branch sul remote (GitHub, GitLab e così via) resta finché non lo elimini a parte con git push origin --delete feature.
Posso recuperare un branch che ho eliminato?
Di solito sì, se l'hai eliminato da poco. Esegui git reflog per trovare il commit a cui puntava il branch, poi ricrealo con git branch feature <commit-hash>. I commit non vengono rimossi subito dalla garbage collection, quindi un branch eliminato per errore di norma si può ripristinare.
Posso esercitarmi online?
Sì. Apri il terminal playground per eseguire questi comandi in una vera shell nel tuo browser, senza installare nulla. Se vuoi un percorso strutturato, il corso interattivo gratuito di Git di Coddy ti accompagna dal primo commit fino a branch e merge, passo dopo passo.
Illustrazione dei linguaggi di programmazione di Coddy

Impara Git con Coddy

INIZIA