再不用手写Commit!AI自动总结代码变更,Git提交效率
背景
今天写完代码后, commit到git仓库, 让我写提交信息时, 突然发现了些问题
1、发现git commit 经常很难描述清晰
在写后面的message, 如:
git commit -m "增加了菜单, 修复了跳转bug等"
只是很简单的概括性描述, 发现, 如果修改代码太多, 那么 -m 后面的信息经常写的不全, 修改内容描述不清.
2、发现项目里很多git commit message 都混乱
用git log 看了下, 大量描述通常如: “fix bug” 、“修复bug”、“增加字段”, 之类, 具经常就是简单几个字描述. 一看就让人头痛, 不知道具体改了什么,
这种混乱的提交信息, 对后续要寻找修改历史时也带来了负担, 基于这些, 是否能用AI帮我总结这块内容呢, 于是有了下面这个项目, 先给大家直接展示效果.
展示
a、提交内容
这里用了个用户的例子展示, 开放个新接口给外部系统查询, 如: 写了个接口,大概内容如下:
b. 用GIT提交
安装完脚本后, 开始测试
git add . //变更加入暂存区
然后直接执行
git commit //提交, 注意: 没带任何说明参数
注意这里没执行 -m 参数, AI自动给我总结了我今天的内容, 并提交成功
截图看下:
AI 帮我总结完成了, 并提交了整个修改的总结. 可以查看下
git log // 查看提交日志进行确认
如下:
完美!
已经自动完成对变更对总结, 并填充到了git commit message里面.
下面把小工具开源出来, 大家可以试试.
安装使用
项目地址:
上传到了github上面, 可以直接下载
https://github.com/bensonHe/auto-git-commit-message
具体如:
a. 把项目下下来
git clone git@github.com:bensonHe/auto-git-commit-message.git
b. 准备好token
去阿里云百炼大模型, 注册个API Key (目前免费, 我一直用这个, 免费送了很多token, 感谢阿里云)
打开百炼控制台, https://bailian.console.aliyun.com/
比如我的:
c. 直接安装
直接运行项目里面的 ./install.sh
最后, 启动
ok 完美, 不用再写任何的git 的备注内容了, 清晰可见.
更多, 如果有疑问可以去看下README.MD , 这个小工具我会持续维护下, 打磨好, 难免有个别bug.
感谢包容
最后
作为一名16年的老程序员, 我始终对新技术保持好奇和热情, 会继续用实战案例,和大家一起摸索如何让AI真正落地到日常开发中。如果你也感兴趣,欢迎关注我, 一起实践、一起进化
再不用手写Commit!AI自动总结代码变更,Git提交效率的更多相关文章
- 手写DotNet Core 认证授权代码
在普通的MVC项目中 我们普遍的使用Cookie来作为认证授权方式,使用简单.登录成功后将用户信息写入Cookie:但当我们做WebApi的时候显然Cookie这种方式就有点不适用了. 在dotnet ...
- 4.2tensorflow多层感知器MLP识别手写数字最易懂实例代码
自己开发了一个股票智能分析软件,功能很强大,需要的点击下面的链接获取: https://www.cnblogs.com/bclshuai/p/11380657.html 1.1 多层感知器MLP(m ...
- 手写笔记变PDF-几行代码变命令行程序为图形化界面
前言 最近发现了一个非常不错的Python类库----Gooey, https://github.com/chriskiehl/Gooey 在它的帮助下我们可以非常方便的将一个命令行程序升级成一个图形 ...
- SpringBoot(三)手写starter pom自动配置
思想:主要是EnableAutoConfiguration在启动的时候会扫描spring.factories并加载 1在resource下面新建META-INF/spring.factories 2在 ...
- [1.1W字] 复习: CSS 9个背景属性&6种渐变函数, 学会可以手写实现AI中强大的"任意渐变"! #Archives009
Title/ CSS Background&Gradient完全指南 #Archives009 序: 关于 background 属性, 了解点CSS的人总会知道个大概. 但是你肯定多半还有点 ...
- 不再手写import - VSCode自动引入Vue组件和Js模块
:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdow ...
- 手写数字0-9的识别代码(SVM支持向量机)
帮一个贴吧的朋友改的一段代码,源代码来自<机器学习实战> 原代码的功能是识别0和9两个数字 经过改动之后可以识别0~9,并且将分类器的产生和测试部分分开来写,免得每次测试数据都要重新生成分 ...
- 【TensorFlow-windows】(四) CNN(卷积神经网络)进行手写数字识别(mnist)
主要内容: 1.基于CNN的mnist手写数字识别(详细代码注释) 2.该实现中的函数总结 平台: 1.windows 10 64位 2.Anaconda3-4.2.0-Windows-x86_64. ...
- c++后台开发面试常见知识点总结(六)算法手写
链表倒转 leetcode-206 连续子数组最大和问题(和最大的连续子序列的和) leetcode-53 输出字符串中最长的回文子串长度? leetcode-5 一个字符串,求最长无重复子串 ...
- ADO.NET #3-1 (GridView + DataReader + SqlCommand)完全手写Code Behind
[C#] ADO.NET #3-1 (GridView + DataReader + SqlCommand)完全手写.后置程序代码 之前有分享过一个范例 [C#] ADO.NET #3 (GridVi ...
随机推荐
- map_server 中障碍物计算规则
博客地址:https://www.cnblogs.com/zylyehuo/ 参考链接 Autolabor-ROS机器人入门课程<ROS理论与实践> 1.地图中的每一个像素取值在 [0,2 ...
- 保姆级教程——手把手教会你如何在Linux上安装Redis
一.Linux系统安装Redis(7.4.0) 注意: 全程是在root底下操作,当然也可以采用sudo 1.1 安装Redis依赖 Redis是基于C语言编写的,因此首先需要安装Redis所需要的g ...
- [源码系列:手写spring] IOC第六节:资源和资源加载器
主要内容 本节新增 Resource接口 定义对资源的抽象和访问,并且添加三个Resource接口的简单实现类. FileSystemResource 文件系统资源的实现类 ClassPathReso ...
- 面试题-JVM性能调优
前言 JVM性能调优是一个很大的话题,很多中小企业的业务规模受限,没有迫切的性能调优需求,但是如果不知道JVM相关的理论知识,写出来的代码或者配置的JVM参数不合理时,就会出现很严重的性能问题,到时候 ...
- 学习unigui【19】unidbgrid的Group By This Field汉化
上面已经将group by this field 汉化. 由于版本的不断更新,不可避免有汉化遗漏.那么说到 如何汉化问题. 根据ExtJSVersion查找你电脑响应目录文件D:\Program Fi ...
- Redis实现高并发场景下的计数器设计
大部分互联网公司都需要处理计数器场景,例如风控系统的请求频控.内容平台的播放量统计.电商系统的库存扣减等. 传统方案一般会直接使用RedisUtil.incr(key),这是最简单的方式,但这种方式在 ...
- 刷题——关于struts框架,下面那些说法是正确的?
关于struts框架,下面那些说法是正确的? Struts中无法完成上传功能 Struts框架基于MVC模式 Struts框架容易引起流程复杂.结构不清晰等问题 Struts可以有效地降低项目的类文件 ...
- dify MCP工具调用
一.概述 前面几篇文章,介绍了Cherry Studio客户端调用MCP,接下来介绍dify如何调用MCP 二.dify插件 需要安装2个插件,分别是:Agent 策略(支持 MCP 工具),MCP ...
- cglib 代理类 自己equals自己 返回false
简单的cglib代理示例 普通的 Java 类 package cglib; public class UserService { public void saveUser(String userna ...
- 智能语音备忘录:SpeechRecognition与gTTS的奇妙融合
引言:智能语音备忘录的时代已经到来 在这个信息爆炸的时代,我们每天需要处理大量的事务和信息.传统的文字记录方式虽然可靠,但在效率上往往难以满足快节奏生活的需求.想象一下,如果你能在驾车.散步或是灵感突 ...