批量刪除本地分支
git branch -a | grep -v -E 'master|develop' | xargs git branch -D
批量刪除遠程分支
git branch -r| grep -v -E 'master|develop' | sed 's/origin\///g' | xargs -I {} git push origin :{}
如果有些分支無法刪除,是因為遠程分支的緩存問題,可以使用
git remote prune
批量刪除本地tag
git tag | xargs -I {} git tag -d {}
批量刪除遠程tag
git tag | xargs -I {} git push origin :refs/tags/{}
用到命令說明
grep -v -E 排除master 和 develop
-v 排除
-E 使用正則表達式
xargs 將前面的值作為參數傳入 git branch -D
后面
-I {} 使用占位符 來構造 后面的命令