【发布时间】:2013-03-17 17:04:18
【问题描述】:
问题:我想要一种方法来删除我拥有的所有没有远程的本地分支。将分支的名称通过管道传输到 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 的shell 脚本,或者制作一个超级简单的Gem,例如git-branch-delete-orphans
【问题讨论】:
标签: git git-remote