Smart Commit

Polar Sponsor
爱发电 赞助
.NET 9.0

智能生成 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"。

🎯 核心功能

  1. Commit Message 生成 — 分析 diff,输出符合 Conventional Commits 规范的提交信息
  2. PR 描述生成 — 自动生成结构化的 Pull Request 描述(变更摘要、影响范围、测试建议)
  3. Release Notes 生成 — 汇总多个 commit,生成面向用户的版本更新说明
  4. 变更影响分析 — 评估代码变更的风险等级和影响范围

📋 使用方式

模式一: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

风格规则

  1. subject 行:不超过 72 字符,用祈使句("add" 不用 "added")
  2. body:说明「为什么」而不是「做了什么」(diff 已经展示了做了什么)
  3. 中文项目:subject 可以用中文,但 type 和 scope 保持英文
  4. 避免无意义 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"时:

  1. 用 git log --oneline --since="1 week ago" 获取 commit 列表
  2. 合并同类 commit
  3. 生成整理后的 commit message 建议

与代码审查结合

生成 commit message 后,可以顺便做:

  • 检查是否有遗漏的文件
  • 建议需要补充的测试
  • 提示潜在的副作用

📌 质量检查清单

生成的 commit message 必须满足:

  • Type 准确反映变更性质
  • Scope 合理(不过宽也不过窄)
  • Subject 清晰描述了"做了什么"
  • Body 解释了"为什么这样做"(如果需要)
  • 没有废话("update code"、"fix stuff")
  • 中英文与项目风格一致

相关专题

更多
Tailwind CSS 如何制作导航栏和卡片
Tailwind CSS 如何制作导航栏和卡片

用 Tailwind CSS 制作导航栏和卡片,可先搭建语义化结构,再组合 Flex、Grid、间距、圆角与阴影类。这里整理横向导航、移动端菜单、卡片网格及悬停效果的相关文章,帮助你把常见页面组件做得清晰且适配不同屏幕。

2026.11.03

0

17

Tailwind CSS 响应式布局怎么写
Tailwind CSS 响应式布局怎么写

Tailwind CSS 响应式布局通常从移动端样式写起,再用 sm、md、lg 等前缀调整不同屏幕宽度下的网格、间距和导航。本专题整理断点配置、Grid 与 Flex 自适应布局及常见溢出问题,帮助你逐步完成多设备适配。

2026.11.03

0

19

Tailwind CSS 常用类名怎么记
Tailwind CSS 常用类名怎么记

Tailwind CSS 类名很多,先按布局、间距、文字、颜色和状态分组记忆,再通过官方文档检索具体写法。本专题结合类名排序、动态拼接失效、自定义实用类等问题,帮助你建立常用类名的速查方法。

2026.11.03

0

12

码上飞入口地址合集
码上飞入口地址合集

本专题汇总了码上飞(CodeFlying)的官方入口地址合集,涵盖官网主站及网页版在线使用入口,支持注册登录后直接在线体验零代码AI应用生成。同时整理了APP端下载渠道与小程序入口,助你快速访问平台,通过自然语言描述需求即可生成应用、小程序或网站。

2026.11.03

0

10

Uvicorn 报错与问题解决教程
Uvicorn 报错与问题解决教程

本专题汇总了Uvicorn服务器常见问题与报错解决的教程合集,涵盖启动失败、端口占用、模块导入错误、事件循环冲突及热重载失效等典型故障的排查思路。同时整理了多进程与Worker配置、SSL/HTTPS证书报错、跨域与代理配置等实战解决方案,助你快速定位并解决Uvicorn运行中的各类问题。

2026.11.02

0

14

Uvicorn使用教程
Uvicorn使用教程

本专题汇总了Uvicorn使用教程与启动运行指南,涵盖其作为Python ASGI服务器的定位与特点,以及命令行启动(uvicorn main:app --reload)、参数配置(host/port/workers)、程序内嵌运行与Gunicorn结合部署等核心用法。同时整理了热重载调试、日志配置与生产环境部署优化等技巧,助你快速掌握Uvicorn的运行与配置。

2026.11.02

0

17

Uvicorn安装配置教程
Uvicorn安装配置教程

本专题汇总了Uvicorn的安装配置教程与部署指南,涵盖通过pip安装Uvicorn、启动FastAPI/Starlette应用、开发模式热重载(--reload)及多进程工作模式配置等核心操作。同时整理了结合Gunicorn的生产部署方案、HTTPS与反向代理配置及性能调优技巧,助你快速完成Uvicorn服务的安装与上线部署。

2026.11.02

0

17

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

0

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

0

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习