Skip to content
Go back

Git 忽略文件的三种方式

Edit

平时忽略文件基本都写 .gitignore,其实 Git 还有另外两层:仓库本地的 .git/info/exclude,以及机器级的全局 ignore。参考:.gitignore Isn’t the Only Way To Ignore Files in Git

三层忽略

文件范围是否进仓库典型用途
.gitignore当前仓库,可随目录嵌套会提交团队共享的忽略规则
.git/info/exclude仅当前仓库不提交个人笔记、本地临时文件
~/.config/git/ignore本机所有仓库不提交.DS_Store、编辑器备份等

.gitignore

最常用。写进仓库,大家一起生效。适合 node_modules/dist/.env 这类项目级规则。

.git/info/exclude

每个仓库的 .git 里都有,改了不会被提交。适合「只有我本地有、又不想污染团队 .gitignore」的东西,比如个人 notes.txt

全局 ignore

默认路径是 ~/.config/git/ignore。本机所有仓库都会吃这套规则,很适合放 macOS 的 .DS_Store

也可以换成自定义文件:

git config --global core.excludesFile ~/.gitignore_global

恢复默认:

git config --global --unset core.excludesFile

查某个文件被谁忽略了

git check-ignore -v .DS_Store

输出会指出是哪一层、哪一行在忽略它,例如:

.gitignore:1:.DS_Store	.DS_Store
.git/info/exclude:7:.DS_Store	.DS_Store
/Users/you/.config/git/ignore:2:.DS_Store	.DS_Store

没有输出,说明当前没有规则在忽略这个文件。

怎么选


Edit
Share this post on:

Previous Post
只克隆指定 Git 分支
Next Post
iframe 跨域锁定帧率