Проблема: я хочу удалить все локальные ветки, которые не имеют пульта. Достаточно просто передать имена ветвей в git branch -D {branch_name}
, но как мне получить этот список в первую очередь?
Например:
Я создаю новую ветку без пульта:
$ git co -b no_upstream
Я перечисляю все мои ветки, там только 1 с удаленным
$ 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
или, возможно, сделать супер простой Gem вроде git-branch-delete-orphans