问题:我想要一种方法来删除我拥有的所有没有远程的本地分支。将分支的名称通过管道传输到 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>...]'
但由于这是一个错误,它不会让我使用它或将它传递给其他命令。我打算将其用作 shell 脚本的别名,git-delete-unbranched
或者制作一个超级简单的 Gem,例如git-branch-delete-orphans