git:批量删除分支

403 阅读1分钟

我们日常开发的流程是根据工作项的编码从develop分支克隆出一个新的分支,开发完成后再进行提交pr。远程分支则在pr合并时自动删除,但是本地分支随着时间的推移,久而久之就积攒着一大批的分支。为了方便平时开发时候的分支切换,需要定时清理本地分支,像通过git branch -d test指令删除test分支,一个个删除着实太糟心,此时批量删除分支的指令就派上了用场。
此篇内容集中就是如下图所示:

image.png

使用方法:
批量删除分支的命令 git branch | grep 'xxx' | xargs git branch -D,其中xxx则是代表着需要正则匹配的特定字符串。

注意⚠️:-d 与-D 的不同,执行此操作时请自行确认。

譬如我通常新建分支会使用lf/ship-这么一个公用的前缀,中划线后是工作项的编码。这样,我在批量删除时,只需要在终端执行git branch | grep 'lf' | xargs git branch -D 即可。但凡本地分支的名称中包含有lf的分支均会被删除。而本地的其他分支,譬如develop、master、test等等分支则毫发无损,完美~