在项目迭代的过程中,一般是一个迭代一个分支,久而久之,本地的分支就会越来越多,虽然不是什么大问题,但对于强迫症的人总感觉有一点不爽,这个时候就可以通过结合几个常用命令,快速删除无用的分支
这几个命令分别是
- git checkout:切换分支,可以通过这个命令切换到对应分支
- git branch:列出分支,列出本地所有分支
- grep:过滤命令,将符合要求的分支过滤出来
- xargs:命令参数传递,将要删除的分支列表作为参数传递
- git branch -D:删除分支命令
大体思路就是,先切换到一个有用的分支,然后列出本地所有分支,过滤出所有想删除的分支并将其传递给分支删除命令作为参数,这样就可以快速删除所有不想要的分支了
比如想删除所有分支名包含 “feature” 的分支,那么命令为:
git branch | grep "feature" | xargs git branch -D
对应效果图为:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5iMwAzNjN2YiFjM5YWZkRGM0gTOwEjZzYzYmNGM1MzMl9CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
如果想删除除了 “feature/v1.1.0” 和 “master” 之外的所有分支,则命令为:
git branch | grep -v -E 'feature/v1.1.0|master' | xargs git branch -D
其中,grep -v 表示反选 -E 表示正则表达式匹配
对应效果图为: