批量删除git本地分支和远程分支命令

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

相关推荐
峥无1 小时前
Linux系统编程基石:静态库·动态库·ELF文件·进程地址空间全景图
linux·运维·服务器
码云数智-大飞1 小时前
本地部署大模型:隐私安全与多元优势一站式解读
运维·网络·人工智能
Harvy_没救了2 小时前
【网络部署】 Win11 + VMware CentOS8 + Nginx 文件共享服务 Wiki
运维·网络·nginx
春风有信2 小时前
【2026.05.01】Windows10安装Docker Desktop 4.71.0.0步骤及问题解决
运维·docker·容器
2401_873479403 小时前
断网时如何实时判断IP归属?嵌入本地离线库,保障风控不中断
运维·服务器·网络
守城小轩3 小时前
基于Chrome140的Yahoo自动化(关键词浏览)——需求分析&环境搭建(一)
运维·自动化·chrome devtools·浏览器自动化·指纹浏览器·浏览器开发
handler014 小时前
Linux 内核剖析:进程优先级、上下文切换与 O(1) 调度算法
linux·运维·c语言·开发语言·c++·笔记·算法
日取其半万世不竭6 小时前
LVM 逻辑卷管理:不停机扩容磁盘的正确方式
运维·服务器
优化Henry6 小时前
TDD-LTE站点Rilink=3链路故障处理案例---BBU侧C口“有发光、无收光”的排查与恢复
运维·网络·信息与通信·tdd
浪客灿心6 小时前
Linux网络传输层协议
linux·运维·网络