Problema: voglio un modo per eliminare tutti i rami locali che ho che non hanno un telecomando. È abbastanza facile inserire i nomi dei rami in un git branch -D {branch_name}
, ma come ottengo quell'elenco in primo luogo?
Per esempio:
Creo un nuovo ramo senza telecomando:
$ git co -b no_upstream
Elenco tutti i miei rami e ce n'è solo uno con un telecomando
$ git branch -a
master
* no_upstream
remotes/origin/HEAD -> origin/master
remotes/origin/master
Quale comando posso eseguire per ottenere no_upstream
una risposta?
Posso correre git rev-parse --abbrev-ref --symbolic-full-name @{u}
e questo mostrerà che non ha telecomando:
$ git rev-parse --abbrev-ref --symbolic-full-name @{u}
error: No upstream configured for branch 'no_upstream'
error: No upstream configured for branch 'no_upstream'
fatal: ambiguous argument '@{u}': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
Ma poiché si tratta di un errore, non mi consente di usarlo o di collegarlo ad altri comandi. Ho intenzione di usarlo come alias di uno script di shell git-delete-unbranched
o forse per creare una gemma super semplicegit-branch-delete-orphans