如何隐藏你使用 AI 编程助手的事实
💡 提示:本文档包含两部分内容:
- 隐藏 AI 工具配置目录:通过全局 Gitignore 隐藏
.claude/、CLAUDE.md等配置文件- 去除提交记录中的 AI 签名:通过 Claude Code 配置去除 Co-Authored-By 签名
问题:GitHub 上的”显眼包”
用 Claude Code、Trae 这类 AI 编程助手写代码确实爽,但有个小尴尬:
项目推送到 GitHub,
.gitignore里写着.claude/、CLAUDE.md、trae/… 懂的都懂,这不就等于在脑门上贴个标签”此人使用 AI 写代码”吗?
当然用 AI 不丢人,只是有时候你更想让代码本身说话。
问题的本质
先来理解一下 Git 的忽略机制。Git 提供了三种忽略文件的方案:
| 方案 | 文件位置 | 是否会被提交 | 作用范围 |
|---|---|---|---|
项目 .gitignore |
项目根目录 | ✅ 是 | 仅当前项目 |
.git/info/exclude |
.git/ 目录 |
❌ 否 | 仅当前项目 |
全局 ~/.gitignore_global |
用户目录 | ❌ 否 | 所有项目 |
项目级别的 .gitignore 是随着代码一起提交到 GitHub 的,任何人都能看到。而我们真正需要的,是让这些 AI 工具的配置文件只存在于本地,不出现在版本控制中。
我的解决方案:全局 Gitignore
经过研究,我发现最优雅的解决方案是使用全局 Gitignore。
步骤一:创建全局忽略文件
首先,在用户目录下创建一个名为 .gitignore_global 的文件:
# Windows (PowerShell)
notepad C:\Users\你的用户名\.gitignore_global
# 或者使用 Git Bash
touch ~/.gitignore_global
在文件中添加你想要忽略的内容:
# Claude Code 配置
.claude/
CLAUDE.md
# Trae AI 助手配置
.trae/
# 其他 AI 工具...
步骤二:配置 Git 使用全局文件
告诉 Git 使用这个全局忽略文件:
git config --global core.excludesFile ~/.gitignore_global
就这么简单!现在这些配置在所有 Git 项目中都会自动被忽略。
步骤三:清理现有项目
对于已有的项目,你需要从 .gitignore 中移除这些条目:
# 编辑项目的 .gitignore,删除以下行
.claude/
CLAUDE.md
.trae/
然后提交这个更改:
git add .gitignore
git commit -m "chore: 清理配置文件"
git push
效果验证
配置完成后,可以通过以下命令验证忽略规则是否生效:
git check-ignore -v .claude CLAUDE.md .trae
输出应该显示这些文件/目录被全局忽略文件所匹配:
C:/Users/你的用户名/.gitignore_global:2:.claude/ .claude
C:/Users/你的用户名/.gitignore_global:3:CLAUDE.md CLAUDE.md
C:/Users/你的用户名/.gitignore_global:6:.trae/ .trae
使用 git status 检查项目状态,你会惊喜地发现这些 AI 工具的配置目录不再显示为未跟踪文件。
另一种选择:.git/info/exclude
如果你不想使用全局配置,也可以使用项目本地的 exclude 文件:
# 在项目根目录执行
echo -e ".claude/\nCLAUDE.md\n.trae/" >> .git/info/exclude
这个文件位于 .git/info/exclude,它不会被提交到远程仓库,只存在于你的本地 Git 目录中。
但缺点是:你需要在每个项目中重复这个操作。
我的选择
我选择了全局 Gitignore 方案,原因很简单:
- 一次配置,所有项目生效
- 完全隐藏,GitHub 上看不到任何痕迹
- 便于管理,所有 AI 工具配置集中在一处
总结
使用 AI 编程助手已经成为现代开发的常态,但如果不想在 GitHub 上暴露这个事实:
- 隐藏配置文件:使用全局 Gitignore 方案
- 去除提交签名:配置 Claude Code 的
includeCoAuthoredBy选项
关键是记住:项目级别的 .gitignore 会随代码一起提交,而全局忽略文件只存在于你的本地机器上。
进阶技巧:去除提交记录中的 AI 签名
默认情况下,Claude Code 会在提交时添加 Co-Authored-By 签名,这会在 GitHub 提交记录中显示 AI 参与了代码编写。
通过配置去除签名
你可以在配置文件中设置 "includeCoAuthoredBy": false 来禁用此行为:
用户级配置(所有项目生效):
// ~/.claude/settings.json
{
"includeCoAuthoredBy": false
}
项目级配置(仅当前项目生效):
// 项目目录下的 settings.local.json
{
"includeCoAuthoredBy": false
}
配置生效位置
| 配置位置 | 文件路径 | 作用范围 |
|---|---|---|
| 用户级 | ~/.claude/settings.json |
所有项目 |
| 项目级 | .claude/settings.local.json 或项目根目录 settings.local.json |
当前项目 |
效果对比
未配置前(提交记录显示 AI 签名):
feat: 添加新功能
Co-Authored-By: Claude <noreply@anthropic.com>
配置后(提交记录无 AI 签名):
feat: 添加新功能
配置后,所有通过 Claude Code 创建的提交都不会再包含 Co-Authored-By 签名,GitHub 上看到的提交者就是你本人。
今天的分享就到这里。如果你有其他有趣的配置技巧,欢迎在评论区交流!
本作品采用《CC 协议》,转载必须注明作者和本文链接
关于 LearnKu
我不提交不就好了