1. 程式人生 > >批量刪除git 本地分支、遠程分支、tag

批量刪除git 本地分支、遠程分支、tag

正則表達 遠程分支 tags 問題 evel clas rgs git tag

批量刪除本地分支

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 {} 使用占位符 來構造 後面的命令

批量刪除git 本地分支、遠程分支、tag