资讯详情

实战配置CLAUDE.md:彻底禁止 AI 自动添加 Git Commit 签名并规范提交格式

📅 2026/9/25 10:34:02 | 华诺云谱 👁 阅读
实战配置CLAUDE.md:彻底禁止 AI 自动添加 Git Commit 签名并规范提交格式
1. 为什么 AI 写的 Commit 总带着“小尾巴”如果你用 Claude 辅助写代码大概率遇到过这种场景改完一个登录页的 bug让 AI 顺手生成一条提交信息结果它回给你的是这样一段东西好的这是为您准备的提交信息 fix(auth): resolve login button not responding Fixed an issue where the submit button was disabled. Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude noreplyanthropic.com问题有三个。第一开头那句“好的这是为您准备的提交信息”是废话复制粘贴时得手动删。第二末尾的Co-Authored-By和Generated with属于 AI 签名混进 Git 历史里会让提交记录变得不干净团队 review 时也容易引起误会。第三格式不稳定有时候它记得加fix:前缀有时候直接给你一句自然语言描述semantic-release这类工具根本解析不了。这些行为的根源在于Claude 默认不知道你的项目规范。它只能靠“礼貌”和“通用习惯”来猜于是就会自动附加签名、自动加客套话。解决办法不是每次手动删而是在项目里放一份CLAUDE.md把规则写死让它每次生成 Commit 前先读这份“岗位说明书”。这篇内容面向用 Claude 辅助编码的开发者重点讲三件事怎么在CLAUDE.md里禁止 AI 自动添加 Git Commit 签名、怎么强制它输出符合 Conventional Commits 的格式、以及配置完怎么验证真的生效。全程可复制跟着做就行。2. 前置准备把 TaoToken 配成 Claude 的调用入口在写CLAUDE.md之前得先保证你的 Claude 能正常跑起来。如果你用的是命令行工具或者自己写的脚本调 Claude推荐把请求走 TaoToken 的 API 网关这样模型对话、Coding Plan、API Keys 都在一个控制台里管理切换模型和排查请求都方便。TaoToken 官网入口是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 地址是 https://taotoken.net/api 这个不加 UTM。你需要先去控制台拿一个 API Key然后把它写进环境变量别硬编码在代码里。# 写入 shell 配置macOS/Linux 用 ~/.zshrc 或 ~/.bashrc export TAOTOKEN_API_KEYsk-你的key # 让配置立即生效 source ~/.zshrc # 验证变量已写入 echo $TAOTOKEN_API_KEY | head -c 8拿到 Key 之后如果你用的是 Claude Code 这类支持 Anthropic 接口的工具把 base URL 指向 TaoToken 的 API 地址即可。具体接入方式可以参考官方文档里的说明不同客户端的配置字段略有差异但核心就是两样API Key 和 base URL。注意API Key 属于敏感凭证不要提交到 Git 仓库。建议在.gitignore里加上.env和*.key避免误传。这一步做完Claude 的调用链路就通了。接下来才是重点在项目根目录创建CLAUDE.md把提交规范写进去。3. 可复制的 CLAUDE.md 配置片段CLAUDE.md放在项目根目录Claude 在读取项目上下文时会自动加载它。你可以把它理解成一份“项目宪法”里面写清楚 AI 在这个仓库里能做什么、不能做什么。针对 Git Commit我们需要覆盖三块禁止签名、禁止客套话、强制格式。下面这份配置可以直接复制到你的CLAUDE.md里我按功能分了段方便你按需删减# Git Commit Rules ## 输出行为约束 生成 git commit message 时必须遵守以下规则 - 禁止输出任何开场白或结束语例如“好的”“这是为您准备的”“希望对你有帮助”。 - 禁止附加任何 AI 生成标识包括但不限于 - Co-Authored-By: Claude - Signed-off-by: AI Assistant - Generated with [Claude Code] - 任何带有机器人 emoji 的署名行 - 禁止在 commit message 中提及“AI”“Claude”“助手”等字样。 - 直接输出 commit message 本身不要包裹在代码块里不要加引号。 ## 格式规范 所有 commit message 必须遵循 Conventional Commits 规范 type(scope): subject 允许的 type 取值 - feat: 新功能 - fix: 修复 bug - docs: 文档变更 - style: 代码格式调整不影响逻辑 - refactor: 重构既不是新功能也不是修 bug - perf: 性能优化 - test: 测试相关 - build: 构建系统或依赖变更 - ci: CI 配置变更 - chore: 杂项事务 - revert: 回滚提交 约束细节 - subject 使用英文动词开头首字母小写结尾不加句号。 - 第一行总长度不超过 72 个字符。 - 如果需要补充说明空一行后写 bodybody 每行不超过 72 字符。 - scope 可选但同一项目内应保持一致例如 auth、api、ui。 ## 示例 输入修复了登录页按钮点击无响应的问题 输出 fix(auth): resolve login button click handler issue 输入新增用户头像上传功能 输出 feat(profile): add avatar upload support这份配置的关键在于“否定指令”写得足够具体。大模型对模糊的“不要加签名”理解不稳定但如果你把Co-Authored-By、Signed-off-by这些具体字符串列出来它就会把这些词当成禁区触发概率大幅下降。同时直接输出 commit message 本身不要包裹在代码块里这一条能省掉你手动去掉反引号的步骤。配置写完后建议用git add CLAUDE.md git commit把它提交进仓库这样团队里其他人用 Claude 时也会自动继承这套规则。4. 验证配置是否真的生效配置文件写完不代表生效得实际跑一遍。下面是我常用的验证流程分三步先制造一个改动再让 Claude 生成提交信息最后检查输出。第一步随便改一个文件制造 diff# 在项目里改点东西比如修改 README echo README.md git add README.md git diff --cached --stat第二步向 Claude 发起请求。如果你用的是 Claude Code直接在终端里说帮我给这次改动写一个 commit message第三步观察输出。配置生效时你应该只看到一行干净的结果类似docs(readme): add trailing newline没有开场白没有代码块包裹没有Co-Authored-By。如果输出里还带着签名说明CLAUDE.md没被加载检查一下文件是不是放在了项目根目录文件名大小写是否正确。再测一个复杂场景验证格式约束我重构了用户认证模块把 token 校验逻辑抽成了独立函数帮我写 commit期望输出类似refactor(auth): extract token validation into standalone function如果它输出了refactor: 重构认证模块这种中文 subject说明格式约束还不够强可以在CLAUDE.md里补一句“subject 必须使用英文”。实测下来把语言要求写死之后输出稳定性会明显提升。5. 本篇常见错排查配置过程中容易踩几个坑这里集中列一下方便你对号入座。问题一CLAUDE.md 写了但没生效。最常见的原因是文件位置不对。CLAUDE.md必须放在项目根目录也就是和.git同级的位置。如果你放在src/或者.claude/下面Claude 可能读不到。另外有些工具需要重启会话才会重新加载上下文改完配置后新开一个对话再测。问题二签名去掉了但格式还是乱的。检查你的CLAUDE.md里有没有明确列出允许的 type 取值。只写“遵循 Conventional Commits”不够模型对规范的理解有偏差。把feat、fix、docs这些枚举出来再给两个示例效果会好很多。问题三输出被包在代码块里。这是模型的默认习惯它觉得代码块更“整洁”。在配置里加一句“不要包裹在代码块里不要加引号”通常就能解决。如果还不行可以加一句“输出必须是纯文本可直接用于 git commit -m”。问题四API 请求报 401 或 403。这类错误一般是 API Key 没配好。先确认环境变量是否生效再检查 Key 有没有过期。如果你是通过 TaoToken 调用的可以去控制台的 API Keys 页面重新生成一个然后更新环境变量。接入文档里有各客户端的详细配置示例遇到字段对不上的情况可以对照排查。问题五commit 历史里已经混入了旧签名。配置只能约束之后的提交已经写进历史的改不了。如果确实需要清理可以用git rebase -i交互式变基修改历史提交但这属于改写历史团队协作的分支上要谨慎操作改完需要 force push。提示如果你在排查接入问题时需要确认模型是否正常响应可以先用模型对话功能发一条简单请求确认链路通了再回到项目里测 Commit 生成。6. 把规则沉淀成团队资产CLAUDE.md的价值不只是让 AI 少说废话它其实是一份可执行的团队规范。以前 Conventional Commits 写在 wiki 里新人靠自觉现在写进CLAUDE.mdAI 每次生成提交都会自动遵守相当于把规范变成了工具链的一部分。如果你想让这套规则在多个项目里复用可以把CLAUDE.md抽成一个模板仓库新项目初始化时直接复制。更进一步可以结合 Git hooks在commit-msg阶段用脚本校验格式AI 生成的和你手写的都过一遍检查双保险。对于长期用 Claude 做编码和 Agent 任务的场景可以考虑用 Coding Plan 来管理调用额度把模型对话、代码生成、提交规范这些环节串起来。规则配好之后你基本不用再手动清理 Commit 信息复制粘贴直接提交就行。最后留一个实用技巧在CLAUDE.md里加一条“如果改动涉及多个不相关的模块建议拆分成多个 commit”这样 AI 在生成提交信息时还会顺带提醒你拆分改动提交历史会更清晰。
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑