首页/开发/Git 与协作速查/全局忽略文件 core.excludesFile
Git 基础与命令88 条

全局忽略文件 core.excludesFile

个人级忽略清单:用 core.excludesFile 指定(默认路径在用户配置目录下),适合编辑器临时文件与系统文件,不随仓库分发。

Git 与协作速查开发更新于 2026-10-13

全局忽略文件是什么

core.excludesFile 指向一份只对本机账号生效的忽略清单,规则语法与 .gitignore 相同,但不随仓库分发。它适合编辑器临时文件、操作系统文件(.DS_Store、Thumbs.db)以及个人工具目录这些「只有我会产生」的内容,避免把个人习惯塞进团队共用的 .gitignore。

基本信息

配置键core.excludesFile
默认位置~/.config/git/ignore(遵循 XDG 约定,未配置时也可用)
规则语法与 .gitignore 相同,支持 ! 取反与 ** 通配
优先级命令行 > 目录 .gitignore > .git/info/exclude > 全局 excludesFile
适用平台所有平台,路径写法随系统不同

典型使用场景

  • 编辑器与 IDE 产物:.idea/、*.swp、*.code-workspace
  • 系统生成文件:.DS_Store、Thumbs.db、desktop.ini
  • 个人笔记与临时脚本目录,不希望出现在别人的仓库规则里
  • 本机构建缓存目录,因机器配置不同而路径各异
  • 避免往仓库 .gitignore 加入只有少数人需要的条目,减少评审噪音

配置与内容

配置与内容
mkdir -p ~/.config/git                    # 目录不存在时先创建
git config --global core.excludesFile ~/.config/git/ignore   # 指定清单路径
# 清单内容示例(每行一条规则)
*.swp
.idea/
.DS_Store
Thumbs.db
git check-ignore -v .idea/workspace.xml   # 验证命中了哪条规则与来源文件

三类忽略清单分工

清单生效范围典型内容
仓库 .gitignore所有克隆者构建产物、依赖目录、日志
全局 excludesFile仅本机账号编辑器临时文件、系统文件
仓库 .git/info/exclude仅本机此仓库个人调试脚本、临时数据
全局忽略在优先级链条里最低,不会盖过团队规则:仓库 .gitignore 里的 ! 取反仍能强制跟踪被全局忽略的文件,这正是它适合放个人规则的原因。
确认实际生效路径用 git config --show-origin --get core.excludesFile,可同时看到配置来源文件,避免改了不生效却查不出原因。
全局忽略与仓库内 .gitignore 是叠加生效而不是互相覆盖:命中任意一份清单的文件都会被忽略,取反规则则按优先级从高到低判定,所以「明明在全局忽略了却还能提交」通常说明仓库里有一条取反规则。
这份清单不在仓库里,克隆时不会被带过来:换新机器或新同事加入时容易忘记配置,表现为编辑器临时文件频繁出现在待提交列表里。

易错点

  • 全局忽略只对本机账号生效,同事执行同样操作看不到效果,团队必须共享的规则要写进仓库 .gitignore
  • 改动全局忽略不会影响已被跟踪的文件:目录已经被提交过,要先 git rm --cached 才能让忽略生效
  • 跨平台脚本里用 ~ 展开依赖 shell,Windows 与 Linux 行为不同,给绝对路径或让 git 自己展开更稳
  • 把凭据、密钥类文件交给忽略规则做保护并不可靠:一旦被跟踪过就仍在历史里,应改用仓库级规则加提交前审查

数据来源与参考

  • Git 官方文档:git-config(core.excludesFile)
  • Git 官方文档:gitignore
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌