看着内容很详细,不过我都是直接一句话让AI干了,你做这个SKILL,是之前遇到过什么痛点吗
我想每次提交的时候,都总结出feat、fix等内容,便于以后追溯问题,所以才弄了一个skill
这个问题需要你在claudecode中的配置文件中加入这个(哈雷佬那里看到的解决方法):
"attribution": {
"commit": "",
"pr": ""
}
我让AI读 如何维护更新日志 页
持久化提交规则
description太长了,废话有点多
另外,我个人觉得这类任务不需要专门写一个skill,
在 AGENTS.md 中简要说明一下即可,例如,commit message 遵循 conventional commit 规范
而且 code review 和 git commit 耦合在一起了,类型检查啥的你可以在项目的 AGENTS.md 中声明
现在少有见到这种只有一个文本页面专门讲一件事的网站了
我都固定一句提示词搞定:“整理未提交修改 分类后commit and push“
几十万行以下的项目,只要不是多人协作,现在连工作树都不管理了,只管嘎嘎并发,commits的分类比精致女孩都精致 ![]()
太鸡毛麻烦了
,又长又麻烦。![]()
我的经验就是只允许大模型进行git的只读操作,
绝对禁止进行git写操作。
鬼知道大模型啥时候犯傻,一波就能给你全带走。
不知道佬有没有遇到 conventional commit 时,若 body内容用多列、多行展示时 会不会出现 \n 的问题?关键这个还是 偶发 的。比如:
- 理想的
style(css): tune select control sizing
- Restore the navigation sort control to the default desktop width
- Keep desktop options compact and mobile controls touch-friendly
- Preserve the game series filter as a smaller independent control
Co-authored-by: Cursor <cursoragent@cursor.com>
- 实际的
style(about): compact profile panel layout
- reduce profile panel padding, spacing, and typography for a tighter page header\n- rebalance the desktop grid so the text content remains the visual focus\n- scale the logo responsively without letting the visual column determine panel height\n- tighten mobile spacing while preserving the profile content and static logo treatment
我在skill中就算加了很多安全边际、提交前先检测 \n 是否出现等等很多限制,可有时候还是会出现。用ai优化过很多次,可还是偶尔发生
- 原因简述
\n 的根因是多行提交消息在 Agent、UI 或工具传递过程中被当作转义字符串处理,但没有还原成真实换行;Git 会忠实保存这些字符,所以最终提交中出现了字面量 \n。
Skill 可以规定正确格式,但只有在提交前后检查实际消息内容,才能发现这类传输和序列化问题
不知道佬有什么好建议?
仅仅文档软门控,任何 model 和 harness 本体都会出问题
规则类,能抽象出元模型的,脚手架门控 + githooks 就行了,比如场景用的 commit head 的conventional style 范式与 head 的无序标题(最好再抽象元类型比如修改/执行/审查)
(有点没读清题目,不过同规则变体,行格式也同样
)
不过最简单的是写入 AGENTS.md 让每次 commit 都以写入临时文件 -f 执行,不过也需要门控防止假阳性
这个我也有遇到,我是常用VSCode Copilot。我的解决方案就是用插件提供的 MCP 来做 git add 和 commit,用上这俩工具之后就没遇到过了。
如果佬不用 Copilot 也可以参考一下这个思路,自己写一个 commit 工具处理行内 ‘\n’ 来供模型调用。
起初我以为只要简单的调整一下就可以了,在用ai优化的时候才了解到只用skill无法那么严格限制,也建议了使用hook等更严谨的方法,看来还得得多学习。
我现在用 cursor桌面端 比较多,偶尔发生,codex不多,但目前还没遇到过这个问题,有点神奇。用的同一个模型
直接跟ai说,commit message就可以了…
