提交信息
在源代码管理视图中,标题栏的闪光图标运行 Twinny - Generate commit message。twinny 读取 diff,向对话提供者请求一条信息,并写入提交框供你在提交前编辑。
使用哪个 diff
有已暂存的变更就用它们;否则用所有未暂存的,状态栏会说明这一点。未跟踪的文件在暂存之前两者都不包含。先暂存你打算提交的文件,信息就会准确描述这些内容。该命令在第一个工作区文件夹中运行 git,该文件夹必须是仓库;如果 VS Code 的 Git 视图没有打开任何仓库,信息会复制到剪贴板。
diff 上限为 24,000 字符,在文件或块边界截断,以免小型本地模型不堪重负;模型会被告知省略了多少字符。非常大的提交请分批暂存和提交。
信息风格
默认提示(commit-message.hbs)要求:
- 祈使语气(“Add”、“Fix”、“Refactor”),
- 主题行少于 72 个字符,
- 只在主题无法说明时才加简短正文,
- 只输出信息本身,不带围栏、引号或解释。
由于小模型并不总是遵守,回复仍会被清理掉思考段落、多余的围栏、引号以及“Here is the commit message:”之类的开场白。只发送 diff,作为单条用户消息,不带系统消息。
定制
编辑 ~/.twinny/templates/commit-message.hbs 改变风格。常见改法:
- Conventional Commits:要求
type(scope): subject并列出允许的类型。 - 工单引用:模板只拿到 diff,模型看不到分支名。要从分支名中取工单号,请在对话中附上
@git(其中包含分支)来写信息。 - 语言:要求用团队的语言写信息。
机制见提示词模板。
在对话中
也可以在对话中附上 @git 来写提交信息,想先讨论修改时很方便。日常情况下源代码管理按钮更快。