Проблема: я хочу спосіб видалення всіх локальних гілок у мене, які не мають пульта дистанційного керування. Досить просто перенести імена гілок у a git branch -D {branch_name}
, але як я можу отримати цей список?
Наприклад:
Я створюю нову гілку без пульта:
$ git co -b no_upstream
Я перелічую всі свої гілки, і є лише одна з пультом дистанційного керування
$ git branch -a
master
* no_upstream
remotes/origin/HEAD -> origin/master
remotes/origin/master
Яку команду я можу запустити, щоб отримати no_upstream
відповідь?
Я можу запустити, git rev-parse --abbrev-ref --symbolic-full-name @{u}
і це покаже, що у нього немає пульта дистанційного керування:
$ 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>...]'
Але оскільки це помилка, вона не дозволить мені використовувати її або передавати до інших команд. Я маю намір використовувати це як скрипт оболонки, що називається псевдонімом, git-delete-unbranched
або, можливо, зробити супер простий камінникgit-branch-delete-orphans