Appearance
代码库索引忽略文件
引言
在代码库索引搜索时,可自定义忽略的文件,被忽略的文件则不会被检索到。若当前项目已经智能分析完成,则设置了忽略的文件不会生效,只对新增的文件生效。
代码库索引忽略文件
- 在高级设置中,勾选“启用代码库索引忽略文件”,然后单击文件“编辑”按钮。

- 在文件中,输入忽略的文件名,如:*.yml,忽略该配置文件信息,然后保存文件。文件规则请查看详情。
- 在智能会话中提问,使用#代码仓库,检索该文件的内容,搜索列表不会出现已忽略的文件。

文件填写的规则
- 注释 以 # 开头的行是注释,会被忽略:
# 忽略所有日志文件
*.log- 忽略文件或目录
filename:忽略名为 filename 的文件。
dirname/:忽略名为 dirname 的目录(末尾加 / 更明确)。
*.txt:忽略所有 .txt 文件。
**/temp/:忽略任意层级下的 temp 目录(** 表示任意嵌套路径)。- 通配符
*:匹配任意数量的字符(不包括 /)。
例如:*.tmp 匹配 a.tmp、data.tmp,但不匹配 dir/file.tmp(除非在子目录规则中)。
?:匹配单个字符。
例如:file?.txt 匹配 file1.txt、fileA.txt。
[abc]:匹配括号内的任意一个字符。
例如:file[0-9].log 匹配 file1.log 到 file9.log。
**:匹配任意层级的子目录(需 Git 1.8.2+)。
例如:**/*.class 忽略所有子目录中的 .class 文件。- 取反(例外规则) 以 ! 开头表示不忽略(即强制跟踪),可覆盖前面的忽略规则:
*.log # 忽略所有 .log 文件
!important.log # 但 important.log 仍被跟踪注意:如果父目录已被忽略,则无法通过 ! 恢复其子文件。例如:
node_modules/ # 整个目录被忽略
!node_modules/special/ # ❌ 无效!因为父目录已不被跟踪- 路径写法
无前导 /:规则适用于所有层级。
例如:temp/ 会忽略项目根目录和任何子目录下的 temp 目录。
有前导 /:仅匹配项目根目录下的内容。
例如:/temp 只忽略根目录的 temp 文件或目录,不影响 src/temp。二、常见示例 忽略操作系统/编辑器生成的文件
# macOS
.DS_Store
.AppleDouble
.LSOverride
# Windows
Thumbs.db
ehthumbs.db
Desktop.ini
$RECYCLE.BIN/
# Vim
*.swp
*.swo
# JetBrains (IntelliJ, PyCharm 等)
.idea/
*.iml忽略构建产物
# Java
*.class
target/
build/
# Python
__pycache__/
*.pyc
venv/
.env
# Node.js
node_modules/
dist/
npm-debug.log*忽略敏感文件
config/secrets.yml
*.key
*.pem
.env.local