发布时间:2026/9/6 17:03:03
3 条命令跑起来:git-rewrite-commits 用 AI 自动改写 Git 提交信息 3 条命令跑起来git-rewrite-commits 用 AI 自动改写 Git 提交信息【免费下载链接】nekoA self hosted virtual browser that runs in docker and uses WebRTC.项目地址: https://gitcode.com/GitHub_Trending/ne/neko打开git log翻历史满屏的 fix、update三个月后连自己都不知道当时改了什么——这种困扰用过 Git 的人大概率都遇到过。git-rewrite-commits 是一款 AI 提交信息改写工具它调用 OpenAI 或 Ollama 等模型把你暂存区里的变更自动改写成符合约定式提交规范的文本新手和老手都能直接用。效果对比AI 提交信息改写的实际样子看效果最直观改写前往往只有一句含糊的修了个 bug改写后信息明显分层——类型feat、fix、docs一眼看出变更性质作用域点明受影响的模块描述则把具体做了什么说清楚。几次积累下来git log不再是天书而是一份能直接当 changelog 读的记录。上手篇安装 Git 钩子三条命令跑起来流程很短三步走完git clone https://gitcode.com/GitHub_Trending/ne/neko克隆完成后配置模型密钥。用 OpenAI 的话导出密钥即可export OPENAI_API_KEYyour-api-key如果本地跑了 Ollama 服务则不需要密钥选择对应的本地提供程序就行。最后一条命令把 Git 钩子装进仓库npx git-rewrite-commits --install-hooks装好之后你的操作习惯完全不用变照旧git add .、git commit编辑器弹出来时✨ 规范的提交信息已经替你写好了看一眼没问题直接保存即可。机制篇三个 Git 钩子如何接力工作整个工具其实是一条时间线上的接力全程不需要你主动调用提交时——你敲git commit的瞬间prepare-commit-msg 钩子被触发。它读取暂存区的 diff交给 AI 模型生成一段符合约定式提交的信息直接写进编辑器。这就是你打开编辑器看到已躺好文案的原因。提交后——post-commit 会在提交落库后自动跑一轮检查对没有完全达标的信息再润色一次保证写进历史的内容都是合格的。推送前——pre-push 是最后一道关。执行git push前它会检查尚未推送的提交发现不规范的会提示你处理让远程仓库里的历史始终干净。先代写、再校验、后把关三道工序串下来你只需要在最后做确认这一个动作。定制篇团队提交模板与两层配置配置团队提交模板如果团队有统一的前缀要求比如必须挂 JIRA 编号用模板把格式锁死git config hooks.commitTemplate [JIRA-XXX] feat: message之后 AI 生成的每条信息都会按这个骨架输出整个团队的提交风格自然就对齐了。选择提交信息语言与配置范围提交信息还支持多语言比如设成日语git config hooks.commitLanguage ja西班牙语es、法语fr等同样可用。注意区分范围上面这条只作用于当前仓库加上--global则是全局配置对机器上所有仓库生效适合想统一规范的个人开发者。内部篇这个工具是怎么实现的整体用 TypeScript 编写结构上分三层packages/grec/cli.js 是命令行入口负责参数解析和钩子安装src/providers/ 存放各模型提供程序模块抹平 OpenAI 与 Ollama 之间的调用差异hooks/ 目录则存放 prepare-commit-msg、post-commit、pre-push 三个钩子脚本。排障篇三个常见问题与一行解法⚠️ 遇到报错不用慌多数情况一条命令就能解决提示 API 密钥未设置 →export OPENAI_API_KEYsk-...并写进 shell 配置文件持久化钩子没生效 →ls -la .git/hooks/查看钩子文件是否存在缺了就重新跑npx git-rewrite-commits --install-hooks想卸载钩子 → 直接删除.git/hooks/下对应文件如rm .git/hooks/prepare-commit-msg写在最后git-rewrite-commits 适合两类人想借 AI 生成的规范信息顺带学会约定式提交的新手以及不想在提交信息上耗时间的老手。建议先在一个测试仓库里试两周把模板和语言调到自己顺手再推广到日常项目里。【免费下载链接】nekoA self hosted virtual browser that runs in docker and uses WebRTC.项目地址: https://gitcode.com/GitHub_Trending/ne/neko创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

2026/9/6 17:03:03

nanochat 核心结构——与 nanoGPT 对比总结

| 维度 | nanoGPT | nanochat | |----------------|----------------------|----------| | **代码量** | ~750 行 | ~6000 行 | | **架构** | 扁平 | 模块化 | | **功能** | 预训练 微调 | 预训练 SFT RLHF CL…

2026/9/6 17:03:03

计量地理备考指南:从描述统计到空间自相关的核心考点解析

简介:一份计量地理学复习重点知识点整理文档,面向地理科学、GIS及相关专业学生,适合期末备考或考研专业课冲刺时快速梳理核心概念。文档以 docx 形式收录,共1个文件,压缩包大小44KB,内容精炼、便于打印背诵…

2026/9/6 17:48:06

OCL音频功率放大器课程设计全解析:从参数计算到实物调试

简介:面向光信息科学与技术专业学生的一份OCL音频功率放大器课程设计报告,完整展示了模拟电子技术课程设计从需求分析、方案设计到仿真验证的全过程。报告详细阐述了UA741集成运放、三极管、电容及信号源等核心元器件的选型依据与参考应用,并…

2026/9/6 17:48:06

Umi-OCR离线OCR五分鐘上手:截图、批量、二维码的免费文字提取

Umi-OCR离线OCR五分鐘上手:截图、批量、二维码的免费文字提取 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。内置…

2026/9/6 17:48:06

Linux嵌入式自学笔记(基于野火EBF6ULL):1.配置环境

一、下载CH340驱动 下载链接:通过网盘分享的文件:CH341SER.EXE 链接: https://pan.baidu.com/s/1wFuGWSsjNCof-wrV6tgWJw?pwd=abx1 提取码: abx1 --来自百度网盘超级会员v6的分享 下载后以管理员方式运行: 接线试一试串口:红色:VCC;黑色:GND;绿色:TXD(接板…

2026/9/6 17:48:05

OCL音频功率放大器设计全解析:从原理到调试实战

简介:一份OCL音频功率放大器课程设计报告,面向电子信息、光信息科学与技术等专业学生,可用于模拟电子技术课程设计与综合实践。报告以OCL互补对称电路为核心,系统讲解UA741集成运放、三极管、电容、信号源等关键元器件的选型依据与…

2026/9/6 17:43:05

生成初始归并段算法实现

生成初始归并段算法的目的是减少初始归并段个数&#xff0c;降低归并趟数和磁盘读写次数&#xff0c;提高外部排序归并效率 该生成算法在数据结构:用面向对象的方法和c语言描述 第二版 殷人昆著 10.3.3节有详细描述 本文给出的该算法的C代码是: #include <iostream> #inc…

2026/9/6 0:06:59

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊&#xff01;#雷神 #复联”这类调侃式短标题&#xff0c;第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里&#xff0c;但细想一下就能发现&#xff0c;它真正碰到的根本不是…

2026/9/6 0:06:59

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊&#xff0c;可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”&#xff0c;你会发现&#xff0c;这场比较本质上是两个不同 IP 策略的长期结果对比&#xff1a;超人赢在定义了整个超级英雄题材…

2026/9/6 0:06:59

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介&#xff1a;本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案&#xff0c;聚焦调制信号自动检测与识别这一典型无线通信任务&#xff0c;解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件&#xff08;10.73MB&#xff09;&…

2026/9/6 0:06:59

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊&#xff01;#雷神 #复联”这类调侃式短标题&#xff0c;第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里&#xff0c;但细想一下就能发现&#xff0c;它真正碰到的根本不是…

2026/9/6 0:06:59

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊&#xff0c;可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”&#xff0c;你会发现&#xff0c;这场比较本质上是两个不同 IP 策略的长期结果对比&#xff1a;超人赢在定义了整个超级英雄题材…

2026/9/6 0:06:59

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介&#xff1a;本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案&#xff0c;聚焦调制信号自动检测与识别这一典型无线通信任务&#xff0c;解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件&#xff08;10.73MB&#xff09;&…

2026/9/6 11:40:10

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行&#xff0c;Type-C接口算是典型的“看着简单&#xff0c;做起来全坑”的东西。光引脚就24个&#xff0c;高低速信号、电源、控制线全部塞在一个小小的连接器里&#xff0c;如果PCB布局不做规划&#xff0c;打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/5 2:30:42

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/6 10:19:40

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…