1、按照關鍵詞開頭匹配刪除遠程分支
????????git branch -r | grep "origin/feature/develop-1"| sed 's/origin\///g' | xargs -n 1 git push origin --delete
git branch -r 列出所有遠端分支。
grep "origin/feature/develop-1"? 模糊匹配分支名稱包含"origin/feature/develop-1"的遠程分支
sed 's/origin\///g'??把匹配到的遠程分支刪除特定字符串"origin/"
xargs -n 1 git push origin --delete 執行刪除匹配到的遠程分支
????????git branch -r | grep "origin/feature/develop-1"| xargs -n 1 git push origin --delete"${branch#origin/}"
git branch -r 列出所有遠端分支
grep "origin/feature/develop-1" 模糊匹配分支名稱包含"origin/feature/develop-1"的遠程分支
xargs -n 1 git push origin --delete 執行刪除匹配到的遠程分支
${branch#origin/} 去掉分支名前面的 origin/ 部分,以便正確指定要刪除的分支。
2、排除特定分支刪除所有遠程分支分支
????????git branch -r | grep -v '\->' | grep -v 'origin/master' | grep -v 'origin/dev' | xargs -n 1 git push origin --delete"${branch#origin/}"
git branch -r 列出所有遠端分支。
grep -v '\->' 忽略遠端跟蹤分支。
grep -v 'master' 和 grep -v 'dev' 忽略 master 和 dev 分支。
while read -r branch; do ... done 循環遍歷每個分支并執行刪除命令。
${branch#origin/} 去掉分支名前面的 origin/ 部分,以便正確指定要刪除的分支。
注意:在執行批量刪除操作之前,確保你已經確認要刪除的分支,避免誤刪重要的分支。
3、批量刪除本地分支
3.1 按照關鍵詞開頭匹配刪除本地分支
????????git branch | grep “keyword” | xargs -n 1 git branch -D
3.2 按照指定的多分支進行刪除
????????git branch -D branch1 branch2 branch3 (刪除本地分支)
????????git push origin--delete branch1 branch2 branch3 (刪除遠程分支)
4、排除特定分支刪除所有本地分支分支
????????git branch | grep -v '\->' | grep -v 'master' | grep -v 'dev' | xargs -n 1 git branch -D