全局 .gitignore 文件应放在家目录下,如 ~/.gitignore_global,需手动创建并用 git config --global core.excludesFile 设置路径;它只适用于所有项目都无需提交的文件(如 .DS_Store、.vscode/),不推荐放入项目级路径(如 node_modules/),且优先级低于项目级 .gitignore。
全局 .
git
ignore 文件该放在哪
Git 全局忽略规则不是写在项目里,而是通过
配置项指向一个独立文件,这个文件路径由你自己决定,但推荐放在家目录下,比如
。Git 本身不自动创建它,也不会校验路径是否存在——配置写了就认,但文件不存在等于没生效。
执行
来设置(Windows 用户用
)
如果路径含空格或特殊字符,Git 会静默失败,建议用绝对路径且避免空格
配置后不会自动加载已有仓库的忽略状态,新
才生效
哪些内容适合放进全局 .gitignore
全局规则只应覆盖「所有项目都必然不需要提交」的文件,比如编辑器临时文件、系统元数据、本地构建产物。别往里塞项目级逻辑(如
),那应该交给项目根目录的
管理——否则别人 clone 你的项目时,
可能被意外忽略而无法提交说明。
推荐加入:
(vim 交换文件)、
(macOS)、
(Windows)、
、
避免加入:
、
、
—— 这些因项目而异,有的要提交(如预编译的 dist),有的不该(如 Python 缓存)
注意:全局规则优先级低于项目级
,但高于
验证全局忽略是否生效
最直接的办法是新建一个测试目录,初始化仓库,然后放一个匹配全局规则的文件,看
是否不显示它。别依赖
查全局规则——它默认只查项目级和 info/exclude,要加
参数才查全局。
Git
程序猿必备版本控制工具
下载
检查配置是否写对:
确认文件存在且可读:
查某个文件为什么被忽略:
常见误判:文件已被 Git 跟踪过,再加进 ignore 也无效,得先
跨平台团队要注意的坑
全局
很容易变成“个人习惯集合”,一旦推给团队,不同操作系统、IDE 的规则混在一起,反而引发冲突。比如有人加了
(Eclipse),但队友用 VS Code 就完全无关;或者 Windows 用户加了
,macOS 同事根本看不到。
团队内不要共享全局 ignore 配置,每人按需配自己的
编辑器插件(如 VS Code 的
)和 Git 全局 ignore 是两回事,别混淆
CI/CD 环境通常没有全局 ignore,所以项目级
必须自包含,不能依赖全局规则保底
全局规则看着省事,但它的生效边界很模糊——路径错一点、文件权限不对、或者忘了
参数查漏,问题就藏得特别深。真正麻烦的往往不是设不设,而是设完之后没人记得它在哪、写了啥、有没有被绕过。
core.excludesFile~/.gitignore_globalgit config --global core.excludesFile ~/.gitignore_global%USERPROFILE%\.gitignore_globalgit statusnode_modules/.gitignorenode_modules/*~.DS_StoreThumbs.db.vscode/.idea/build/dist/__pycache__/.gitignore.git/info/excludegit statusgit check-ignore -v-ggit config --global core.excludesFilels -l $(git config --global core.excludesFile)git check-ignore -v -g -- path/to/filegit rm --cached.gitignore.projectdesktop.inigit.ignoreLimit.gitignore-g