来一个批量删除 git 远程分支的 shell 脚本
由于一次特殊原因,要求删除n个项目的除master及特定分支外的所有分支,而在 gitblit 上也不好操作,只好借助 git 客户端操作了!
然而客户端只能一个分支一个分支地删除,着实烦人!
于是写了shell,可能你也有用得上的时候呢~!
#!/bin/bash # 批量删除远程分支 shell script reponsitory_name="$1" cd $reponsitory_name; echo " -R welcome the 【$reponsitory_name】 reponsitory, you will delete the branches, WARNNING !!! "; echo " -R !!! WARNNING !!! "; all_branches=`git branch -a`; #echo $all_branches; for br1 in $all_branches; do br1_simple_name=`echo $br1 | grep '/' | cut -d '/' -f3` if [[ "" != "$br1_simple_name" && "HEAD" != "$br1_simple_name" && "master" != "$br1_simple_name" ]]; then echo " -D begin delete branch " $br1 " --->> " $br1_simple_name; read -p " -W Are you sure delete the branch ** $br1 (y/n)[n]: " answer if [[ "$answer" = "Y" || "${answer}" = "y" ]]; then echo " Yes! deleting branch $br1 -> $br1_simple_name"; git push origin --delete $br1_simple_name; else echo " Skipped!!!"; fi; fi; done; echo "over";
这样,每次都会提示你要删除的分支!
你就负责点确认就行了!
不要害怕今日的苦,你要相信明天,更苦!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?