业界动态
Git分支批量清理利器:自定义命令行插件实战
2024-12-26 14:17

不知道大家平时工作的时候会不会需要经常新建git分支来开发新需求呢?在我这边工作的时候,需求都是以issue的形式来进行开发,每个issue新建一个关联的分支来进行开发,这样可以通过issue看到一个需求完整的开发记录,便于后续需求回顾和需求回退。而我平时本地分支都不怎么清理,这就导致了我这两年来本地分支的数量达到了惊人的361个,所以便开始写了这个可以批量删除分支的命令行工具。

我们希望可以通过命令行命令的方式来进行交互,快速获取本地分支列表及各分支的最后提交时间和合并状态,在控制台选择我们想要删除的分支。

1、命令行交互获取相关参数

这里我们使用模块来完成命令行交互功能,模块除了支持模块的所有交互类型,还扩展了文件选择器文件夹选择器多级选择器交互类型,具体介绍可以查看文档:https://www.npmjs.com/package/@jyeontu/j-inquirer

(1)获取操作分支类型

我们的分支分为本地分支和远程分支,这里我们可以选择我们需要操作的分支类型,选择列表为:。

(2)获取远程仓库名(remote

我们可以输入自己git的远程仓库名,默认为。

(3)获取生产分支名

我们需要判断各分支是否已经合并到生产分支,所以需要输入自己项目的生产分支名,默认为。

相关代码
 
 

2、命令行输出进度条

在分支过多的时候,获取分支信息的时间也会较长,所以我们需要在控制台中打印相关进度,避免用户以为控制台卡死了,如下图

3、git操作

(1)获取git本地分支列表

想要获取当前仓库的所有的本地分支,我们可以使用命令来获取

 
(2)获取远程仓库分支列表

想要获取当前仓库的所有的远程分支,我们可以使用命令来获取, 命令将显示远程仓库 中所有分支的引用信息。其中,每一行显示一个引用,包括提交哈希值和引用的全名(格式为 )。

示例输出可能如下所示

 

其中, 是每个分支最新提交的哈希值。

 
(3)获取各分支详细信息

我们想要在每个分支后面显示该分支最后提交时间和是否已经合并到生产分支,这两个信息可以作为我们判断该分支是否要删除的一个参考。

  • 获取分支最后提交时间
    命令用于查看 指定 分支最新提交的提交时间。其中, 用于指定输出格式为提交时间。

在 Git 中, 命令用于显示某次提交的详细信息,包括作者、提交时间、修改内容等。通过使用 参数,我们只显示提交摘要信息,而不显示修改内容。

命令将显示 分支最新提交的提交时间。输出格式为 ISO 8601 标准的时间戳,例如 。

 
  • 判断分支是否合并到生产分支
    命令用于查找包含指定分支)的所有分支。

在 Git 中, 命令用于管理分支。通过使用 参数,我们可以查找包含指定提交或分支的所有分支。

命令将列出包含 的所有分支。输出结果将显示每个分支的名称以及指定分支是否为当前分支。

示例输出可能如下所示

 

其中, 标记表示当前所在的分支,我们只需要判断输出的分支中是否存在生产分支即可

 
(4)删除选中分支

选完分支后我们就该来删除分支了,删除分支的命令大家应该就比较熟悉了吧

  • git branch -D <branchName>

命令用于强制删除指定的分支)。该命令会删除本地仓库中的指定分支,无法恢复已删除的分支。

  • git push <remote> :<branchName>

命令用于删除远程仓库中的指定分支)。这个命令通过推送一个空分支到远程仓库的 分支来实现删除操作。

 
 
 
 

可以看到我们的分支瞬间就清爽了很多。

该工具已经发布到 npm 上,可以直接通过命令进行安装,安装完后在控制台中输入即可进行操作。

该工具的源码也已经开源,有兴趣的同学可以到Gitee上查看:Gitee地址

关注公众号『』,获取更多新鲜内容。

    以上就是本篇文章【Git分支批量清理利器:自定义命令行插件实战】的全部内容了,欢迎阅览 ! 文章地址:https://sicmodule.kub2b.com/news/10200.html
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 企库往资讯移动站 https://sicmodule.kub2b.com/mobile/ , 查看更多   
最新文章
30米内可穿墙? 明基W1075无线影院体验手机端「30米内可穿墙? 明基W1075无线影院体验」
  [中关村在线投影机频道原创]家用经过近几年的发展,市场份额开始不断扩大,尤其是近两年,越来越多的用户开始接受私人家庭影
120W神仙秒充1亿像素手机「120W神仙秒充」
热门手机数码资讯早知道,快来关注作者。 编辑|孙凤新 审核|文峥 Redmi(红米)手机是小米品牌主打高性价比的子品牌,深受全球
2024年折叠屏降温 AI加速渗透手机 传音OV竞逐全球四五名ai手机「2024年折叠屏降温 AI加速渗透手机 传音OV竞逐全球四五名」
2024年是智能手机市场复苏的一年。近日,市场研究机构Canalys发布报告预测,2024年全球智能手机出货量预计为12.2亿部,同比上升6
2022年三星与华为最新款手机上市,科技新篇章的开启最新手机上市「2022年三星与华为最新款手机上市,科技新篇章的开启」
2022年5月2022年5月2022年新款三星GalaxyZFold45G韩版,生产日期为2022年5月,整机质保年限6个月,机身内存256GB全新GalaxyZFold
## 标题,iPhone恢复出厂设置后的数据恢复指南手机恢复出厂设置后怎么还原数据「## 标题,iPhone恢复出厂设置后的数据恢复指南」
许多iPhone用户可能会因各种原因需要将手机恢复到出厂设置,这个操作虽然可以解决存储空间不足、系统运行缓慢等问题,但同时也会
盘点2024西安荣耀时刻!“西”引力爆表!
从传统文化的深厚积淀到旅游行业的蓬勃发展从非遗艺术的薪火相传到现代潮流的创新融合……今天,和文旅君一起回顾2024年古都西安
惠山街道2024年工作总结和2025年工作思路
2024年工作回顾2024年惠山街道始终坚持以习近平新时代中国特色社会主义思想为指导,认真落实区委、区政府决策部署,坚持稳中求进
天气|明日“小寒”!最冷“三九”就要来!
今日天气实况今日迎来2025年的首个双休日天气状况还不错天空晴朗,阳光温暖,风力微弱15时全市各区气温在7℃左右明天迎来小寒节
枝江市2025年“十大民生项目”公布!
枝江市第七届人民代表大会第五次会议于2025年1月10日票决产生了枝江市2025年度重大民生实事项目一起来看看↓↓↓一、枝江市枫杨
原来是这样 | 又上热搜!最近很火的“煮苹果水”,到底怎么喝更有用?
鄠邑区是中国科协命名的“全国科普示范区”,为进一步弘扬科学精神、普及科学知识、传播科学思想,鄠邑区科学技术协会联合鄠邑区