96 lines
3.2 KiB
Markdown
96 lines
3.2 KiB
Markdown
---
|
|
name: write-commit-message
|
|
description: >-
|
|
根据 git 变更生成简体中文提交日志,遵循固定格式(首行概括,必要时空行加分点简述)。
|
|
当用户要求写提交日志、commit message、提交说明,或在提交前需要整理变更摘要时使用。
|
|
disable-model-invocation: true
|
|
---
|
|
|
|
# 写提交日志
|
|
|
|
## 工作流程
|
|
|
|
1. 若尚未掌握变更内容,先并行执行:
|
|
- `git status` 查看变更文件
|
|
- `git diff` 查看未暂存改动
|
|
- `git diff --cached` 查看已暂存改动(如有)
|
|
2. 阅读 diff,识别新增功能、重要修改与实际影响,忽略构建产物、IDE 缓存等无关文件
|
|
3. 按下方格式生成提交日志;用户要求直接提交时,将生成的文本作为 commit message 使用
|
|
|
|
## 输出规范(必须严格遵守)
|
|
|
|
回复中只允许出现提交日志正文,禁止输出任何其他内容,包括但不限于:
|
|
|
|
- 前言、说明、标题(如「提交日志如下」)
|
|
- 对变更的分析或评论
|
|
- 提醒拆提交、后续建议等附加说明
|
|
- Markdown 格式(代码块、加粗、标题、列表语法以外的装饰等)
|
|
|
|
目的:用户可一键全选复制,直接用于 `git commit -m`。
|
|
|
|
## 正文格式
|
|
|
|
- 使用简体中文
|
|
- 第一行:一段简短的描述性句子,概括本次更改的核心内容(必填)
|
|
- 分点简述:可选。仅当变更多处、第一行无法充分表达、或需要补充关键细节时才添加
|
|
- 若使用分点:第二行留空,第三行起用 `- `(横杠 + 空格)列出 1~2 个要点,每点一两句话
|
|
- 若改动单一、第一行已说清楚:只输出第一行,不要空行,不要硬凑分点
|
|
- 不要使用加粗或其他强调格式
|
|
- 英文类名、方法名、变量名等可直接保留原样(非必要时用描述性文字即可)
|
|
- 重点突出新增功能、重要修改和实际影响
|
|
|
|
两种模板,按实际情况选用:
|
|
|
|
单行(改动简单、第一行已足够):
|
|
|
|
```
|
|
<一句话概括核心变更>
|
|
```
|
|
|
|
多行(有必要补充细节时):
|
|
|
|
```
|
|
<一句话概括核心变更>
|
|
|
|
- <主要改动 1>
|
|
- <主要改动 2>
|
|
```
|
|
|
|
## 写作原则
|
|
|
|
- 第一行说「做了什么、解决什么问题」,避免空泛的「更新代码」「修复 bug」
|
|
- 分点是补充说明,不是必填项;第一行能独立表达清楚时,省略分点
|
|
- 不要为了凑格式而拆分无意义的细项
|
|
- 分点只写对使用者或维护者有意义的变更,不写琐碎重命名、格式化
|
|
- 多项无关改动时,在内部自行取舍重点,仍只输出一条提交日志正文,不附加说明
|
|
|
|
## 示例
|
|
|
|
示例 1(改动较多,需要分点)
|
|
|
|
变更:新增测试台拓扑视图,并修复参数网格刷新问题
|
|
|
|
正确输出:
|
|
|
|
新增测试台拓扑可视化视图并修复参数表格刷新异常
|
|
|
|
- 添加 Topo1~Topo4 四种拓扑布局视图及对应 ViewModel
|
|
- 修复切换测试台后参数网格未重新加载的问题
|
|
|
|
示例 2(改动单一,无需分点)
|
|
|
|
变更:仅修正一处空指针
|
|
|
|
正确输出:
|
|
|
|
修复未选择设备时点击导入导致的崩溃
|
|
|
|
错误输出(含多余说明或 Markdown,禁止):
|
|
|
|
以下是提交日志:
|
|
|
|
```
|
|
新增测试台...
|
|
```
|
|
|
|
或:「已根据暂存区生成提交日志,请复制使用:……」 |