Come Eliminare in Sicurezza Tutti i Branch Git Locali

Come Eliminare in Sicurezza Tutti i Branch Git Locali

Scritto da Francesco Di Donato 18 maggio 2022 2 minuti di lettura

Fare pulizia dei tuoi branch locali può rendere il tuo flusso di lavoro più ordinato e meno confusionario. Se vuoi eliminare tutti i branch tranne quelli che vuoi mantenere (ad esempio, dev e main), puoi farlo con questo comando a riga singola:

git branch | grep -v 'dev' | grep -v 'main' | xargs git branch -D

Cosa Fa Ogni Parte

git branch

Elenca tutti i tuoi branch locali.

terminal git:(dev)  git branch
  bar
  baz
* dev
  foo
  main

grep -v <branch-che-vuoi-mantenere>

Filtra (-v) i branch chiamati dev o main dalla lista, così non verranno eliminati.

terminal git:(dev)  git branch | grep -v dev | grep -v main
  bar
  baz
  foo

xargs

Prende ogni nome di branch dalla lista filtrata e lo passa al comando successivo.

terminal git:(dev)  git branch | grep -v dev | grep -v main | xargs
  bar baz foo

git branch -D

Elimina forzatamente (-D) ogni branch passato da xargs. Attenzione: Questo eliminerà i branch anche se non sono stati uniti!

terminal git:(dev)  git branch | grep -v dev | grep -v main | xargs | git branch -D
  Deleted branch bar (was <some-sha>).
  Deleted branch baz (was <some-sha>).
  Deleted branch foo (was <some-sha>).

Per un’eliminazione più sicura (elimina solo i branch uniti), usa git branch -d invece di git branch -D.