智能生成 Git 提交信息工具。根据代码变更自动生成规范的 commit message、PR 描述和 ReleaseNotes。适用场景:生成 commit message、编写 PR/MR 描述、生成 Release Notes。
📝 Smart Commit — 智能 Git 提交信息生成
功能概述
📝 Smart Commit — 智能 Git 提交信息生成是一项面向实际任务的技能,主要用于让每一次 commit 都有灵魂,不再 git commit -m "fix bug";🎯 核心功能;
核心要点
- Commit Message 生成 — 分析 diff,输出符合 Conventional Commits 规范的提交信息;
- PR 描述生成 — 自动生成结构化的 Pull Request 描述(变更摘要、影响范围、测试建。
- 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
使用与执行
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
结果检查与注意事项
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
📝 Smart Commit — 智能 Git 提交信息生成
让每一次 commit 都有灵魂,不再
git commit -m "fix bug"。
🎯 核心功能
- Commit Message 生成 — 分析 diff,输出符合 Conventional Commits 规范的提交信息
- PR 描述生成 — 自动生成结构化的 Pull Request 描述(变更摘要、影响范围、测试建议)
- Release Notes 生成 — 汇总多个 commit,生成面向用户的版本更新说明
- 变更影响分析 — 评估代码变更的风险等级和影响范围
📋 使用方式
模式一:Commit Message 生成
当用户提供代码 diff 或描述变更内容时,执行以下流程:
1. 读取 diff 或变更描述 2. 分析变更类型(feat/fix/refactor/docs/style/test/chore/perf) 3. 识别影响范围(哪些模块/文件受影响) 4. 判断是否为 BREAKING CHANGE 5. 生成 commit message
输出格式:
( ): [可选 body:详细说明为什么这样做] [可选 footer:BREAKING CHANGE / 关联 issue]
模式二:PR 描述生成
当用户要求生成 PR 描述时:
1. 收集所有相关 commit 2. 按功能分组(新功能/修复/重构/文档) 3. 评估风险等级 4. 生成结构化 PR 描述
输出格式:
## 📌 变更摘要 [一段话概括这个 PR 做了什么] ## 🔧 主要变更 - **[类型]** 具体变更1 - **[类型]** 具体变更2 - ... ## 📁 影响范围 - `path/to/file` — 变更说明 - ... ## ⚠️ 风险评估 [低/中/高] — 说明原因 ## ✅ 测试建议 - [ ] 测试项1 - [ ] 测试项2 ## 🔗 相关 - Closes #xxx
模式三:Release Notes 生成
当用户要求生成 Release Notes 或 Changelog 时:
1. 收集版本区间内所有 commit 2. 按类型分组(Features/Bug Fixes/Breaking Changes/其他) 3. 过滤无意义的 commit(如 "wip"、"fix typo") 4. 生成面向用户的版本说明
输出格式:
## [版本号] - 日期 ### ✨ 新功能 - 具体功能1 - 具体功能2 ### 🐛 修复 - 具体修复1 ### 💥 破坏性变更 - 具体变更及迁移指南 ### 🔧 其他改进 - 具体改进
模式四:快速模式
当用户只是快速问"帮我写个 commit message"时:
直接输出一行或三行 commit message,不输出额外解释。提供 2-3 个选项让用户选择。
🧠 Commit 规范
Type 枚举
| Type | 用途 | 示例 |
|---|---|---|
feat |
新功能 | feat(auth): add OAuth2 login support |
fix |
修复 bug | fix(api): handle null response from upstream |
refactor |
重构(不改变功能) | refactor(utils): extract date formatting to helper |
docs |
文档变更 | docs(readme): update installation guide |
style |
代码格式(不影响逻辑) | style(lint): fix indentation in auth module |
test |
测试相关 | test(auth): add unit tests for token refresh |
chore |
构建/工具链 | chore(deps): upgrade webpack to v5 |
perf |
性能优化 | perf(query): add index for user search |
ci |
CI/CD 变更 | ci(github): add macOS build target |
build |
构建系统 | build(webpack): configure code splitting |
Scope 建议
Scope 应该是模块名或功能域,不要用文件名:
- ✅
auth,api,db,ui,payment - ❌
index.js,controller,model
风格规则
- subject 行:不超过 72 字符,用祈使句("add" 不用 "added")
- body:说明「为什么」而不是「做了什么」(diff 已经展示了做了什么)
- 中文项目:subject 可以用中文,但 type 和 scope 保持英文
- 避免无意义 commit:不要生成
fix: update code这种废话
中英文选择
根据项目语言自动判断:
- 项目 README/代码注释是中文 → commit message 用中文
- 项目是英文 → commit message 用英文
- 用户明确要求 → 跟用户走
🔄 变更分析规则
影响范围判定
| 变更模式 | 影响范围 | 风险等级 |
|---|---|---|
| 只改文档/注释 | 低 | 🟢 低 |
| 新增独立功能模块 | 局部 | 🟢 低 |
| 修改工具函数/公共组件 | 广泛 | 🟡 中 |
| 修改 API 接口/数据模型 | 全局 | 🔴 高 |
| 修改配置文件/构建脚本 | 全局 | 🟡 中 |
| 修改认证/权限逻辑 | 全局 | 🔴 高 |
| 数据库 migration | 数据层 | 🔴 高 |
BREAKING CHANGE 判断
以下情况标记为 BREAKING CHANGE:
- 删除或重命名公开 API
- 修改函数签名(参数/返回值)
- 修改配置文件格式
- 修改数据库 schema
- 升级主要依赖版本
💡 使用技巧
自动获取 diff
如果用户在工作目录中有 git 仓库,主动建议:
# 查看暂存区变更 git diff --cached # 查看工作区变更 git diff # 查看最近一次 commit git show HEAD
批量 commit 整理
当用户说"帮我整理一下这周的 commit"时:
- 用
git log --oneline --since="1 week ago"获取 commit 列表 - 合并同类 commit
- 生成整理后的 commit message 建议
与代码审查结合
生成 commit message 后,可以顺便做:
- 检查是否有遗漏的文件
- 建议需要补充的测试
- 提示潜在的副作用
📌 质量检查清单
生成的 commit message 必须满足:
- Type 准确反映变更性质
- Scope 合理(不过宽也不过窄)
- Subject 清晰描述了"做了什么"
- Body 解释了"为什么这样做"(如果需要)
- 没有废话("update code"、"fix stuff")
- 中英文与项目风格一致
热门AI工具
相关专题
用 Tailwind CSS 制作导航栏和卡片,可先搭建语义化结构,再组合 Flex、Grid、间距、圆角与阴影类。这里整理横向导航、移动端菜单、卡片网格及悬停效果的相关文章,帮助你把常见页面组件做得清晰且适配不同屏幕。
0
2026.11.03
Tailwind CSS 响应式布局通常从移动端样式写起,再用 sm、md、lg 等前缀调整不同屏幕宽度下的网格、间距和导航。本专题整理断点配置、Grid 与 Flex 自适应布局及常见溢出问题,帮助你逐步完成多设备适配。
0
2026.11.03
Tailwind CSS 类名很多,先按布局、间距、文字、颜色和状态分组记忆,再通过官方文档检索具体写法。本专题结合类名排序、动态拼接失效、自定义实用类等问题,帮助你建立常用类名的速查方法。
0
2026.11.03
本专题汇总了码上飞(CodeFlying)的官方入口地址合集,涵盖官网主站及网页版在线使用入口,支持注册登录后直接在线体验零代码AI应用生成。同时整理了APP端下载渠道与小程序入口,助你快速访问平台,通过自然语言描述需求即可生成应用、小程序或网站。
0
2026.11.03
本专题汇总了Uvicorn服务器常见问题与报错解决的教程合集,涵盖启动失败、端口占用、模块导入错误、事件循环冲突及热重载失效等典型故障的排查思路。同时整理了多进程与Worker配置、SSL/HTTPS证书报错、跨域与代理配置等实战解决方案,助你快速定位并解决Uvicorn运行中的各类问题。
0
2026.11.02
本专题汇总了Uvicorn使用教程与启动运行指南,涵盖其作为Python ASGI服务器的定位与特点,以及命令行启动(uvicorn main:app --reload)、参数配置(host/port/workers)、程序内嵌运行与Gunicorn结合部署等核心用法。同时整理了热重载调试、日志配置与生产环境部署优化等技巧,助你快速掌握Uvicorn的运行与配置。
0
2026.11.02
本专题汇总了Uvicorn的安装配置教程与部署指南,涵盖通过pip安装Uvicorn、启动FastAPI/Starlette应用、开发模式热重载(--reload)及多进程工作模式配置等核心操作。同时整理了结合Gunicorn的生产部署方案、HTTPS与反向代理配置及性能调优技巧,助你快速完成Uvicorn服务的安装与上线部署。
0
2026.11.02
Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。
0
2026.10.28
Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。
0
2026.10.28
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.7万人学习
共6课时 | 54.7万人学习
最新文章