问题:我想要一种删除我所有没有遥控器的本地分支的方法。将分支的名称通过管道传递到中很容易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