We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
这是之前 @bittenApple 教我的,我觉得非常好用,于是我整理了一下分享给大家
git branch
比如我 git branch 后得到如下列表:
junxing/haha junxing/hello * master liang/hi liang/good
我现在要筛选出所有含有 junxing 的结果,所以要这样写:
junxing
git branch | grep junxing
于是我们得到了
junxing/haha junxing/hello
我们留意到 junxing 前面其实是有空格的,所以我现在要把前面的空格删掉(当然其实不删除也行,相当于你在命令行里多敲几个空格而已)。我们通过这样的方式删除空格:
git branch | grep 'junxing' | cut -c 2-
这里的 2 就是第二个字符,在 2 后面加一个 - 表示从第二个字符之后到最后的字符串,所以我们现在得到了:
2
-
我们现在已经得到筛选出来的结果了,我们现在开始利用结果来进行批量删除。我们知道要删除分支可以使用 git branch -D [分支名] 来删除,要删除多个分支只需要加一个空格然后再写分支名就好了。
git branch -D [分支名]
于是我们现在需要把刚才筛选出来的结果一个一个地放到后面,于是我们这样写:
git branch | grep 'junxing' | cut -c 2- | xargs git branch -D
xargs 命令会自动将筛选出来的结果添加到后面,然后执行。
xargs
这样我们就可以批量删除分支了。
The text was updated successfully, but these errors were encountered:
有童鞋提到如何反选的问题。
其实很简单,只需要在 grep 命令后面加入 -v 参数就好。
grep
-v
比如我们现在需要筛选出除 master 之外的所有分支,那我们只需要这样写就可以了:
git branch | grep 'master' -v
Sorry, something went wrong.
可以用 git-extras 提供的 git delete-merged-branches
No branches or pull requests
这是之前 @bittenApple 教我的,我觉得非常好用,于是我整理了一下分享给大家
1. 查看分支列表
2. 过滤结果
比如我
git branch
后得到如下列表:我现在要筛选出所有含有
junxing
的结果,所以要这样写:于是我们得到了
2.1. 删除结果中的空格(非必要)
我们留意到
junxing
前面其实是有空格的,所以我现在要把前面的空格删掉(当然其实不删除也行,相当于你在命令行里多敲几个空格而已)。我们通过这样的方式删除空格:这里的
2
就是第二个字符,在2
后面加一个-
表示从第二个字符之后到最后的字符串,所以我们现在得到了:3. 利用结果进行批量删除
我们现在已经得到筛选出来的结果了,我们现在开始利用结果来进行批量删除。我们知道要删除分支可以使用
git branch -D [分支名]
来删除,要删除多个分支只需要加一个空格然后再写分支名就好了。于是我们现在需要把刚才筛选出来的结果一个一个地放到后面,于是我们这样写:
xargs
命令会自动将筛选出来的结果添加到后面,然后执行。这样我们就可以批量删除分支了。
The text was updated successfully, but these errors were encountered: