删除包含字符串的批量本地git分支

时间:2014-02-27 11:18:07

标签: git bash terminal grep branch

有一些本地git分支,比如说:

…
Case001-FeatureA-doX
Case002-FeatureA-doX
Case001-FeatureB-doX
Case002-FeatureB-doX
…

如何从终端删除包含“FeatureA”或“Case001”的那些?

我想它必须像git branch -l | grep "FeatureA" …,但我不知道如何继续。

使用适合我的解决方案

更新

$ git for-each-ref --format='git branch -d %(refname:short)' refs/heads/Case001-* | sh -x

2 个答案:

答案 0 :(得分:1)

我没有工作中的git,但我认为git -d可以使用多个分支,所以

git -d Case001*

可行。否则

git branch --merged | grep "FeatureA" | xargs git branch -D

xargs是关键点。您可以按照自己的方式列出分支。

答案 1 :(得分:1)

git for-each-ref --format='git branch -d %(refname:short)' \
      refs/heads/*-FeatureA-dox refs/heads/Case001-*-dox \
| sh -x