批量删除远程分支
示例:删除boss-cas-web项目上分支名称包含08
的所有分支(因为我们的命名是规范的,08表示8月份的所有分支),忽略master和test-server分支
git branch -r | grep -v -E 'master|test-server' | grep -E '*.08.*' | sed 's/origin\///g' | xargs -I {} git push origin :{}
批量删除本地分支
示例:删除boss-cas-web项目上分支名称包含08
的所有分支(因为我们的命名是规范的,08表示8月份的所有分支),忽略master和test-server分支
git branch -a | grep -v -E 'master|test-server' | grep -E '*.08.*' | xargs git branch -D
批量删除本地tag
git tag | xargs -I {} git tag -d {}
批量删除远程tag
git tag | xargs -I {} git push origin :refs/tags/{}
-v 排除
-E 使用正则表达式
xargs
将前面的值作为参数传入git branch -D
后面
-I {} 使用占位符 来构造 后面的命令