Git批量删除本地和远程分支

在使用语句之前请确认你理解了语句的意思,否则语句执行之后如果错误删除掉你的分支而本人不用负未告知的责任,因为我已经废话半天在这说这件事了。

希望大家操作命令之前,能用自己的demo工程操作一下,以免出现误删操作。

强烈建议使用之前先把重要的分支保存到本地!

1 假设现在远程仓库存在以下的分支:

oirigin/master
oirigin/master_1
oirigin/1_master
oirigin/develop
oirigin/develop_x
oirigin/x_develop
oirigin/feature

2 批量删除远程分支:

-v 的意思是保留分支

git branch -r -v | grep -E 'master|develop' | sed 's/origin\///g' | xargs git push origin --delete

语句执行结束剩下的分支应该是什么?

oirigin/master
oirigin/master_1
oirigin/1_master
oirigin/develop
oirigin/develop_x
oirigin/x_develop

对,你没有看错,凡是包含master,develop的分支都会被保留下来,只是把feature分支删除了。

那我只想保留master,develop分支,其他的带下划线的分支都不想要了怎么办?
注意这里去掉了-v

git branch -r  | grep -E 'master|develop' | sed 's/origin\///g' | xargs git push origin --delete

剩下的分支是什么呢?

oirigin/master
oirigin/develop

okay 最终只剩下了我们想要的两个分支。

3 批量删除本地分支:

语句和删除远程分支相似,只是将对远程的操作放到了本地执行。

git branch -a | grep -v -E 'master|develop' | xargs git branch -D

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值