Git 大学习:.gitignore 适合项目级别的文件忽略;.git/info/exclude 中记录的文件也会被排除但不会随着项目 .gitignore 提交;~/.config/git/ignore 是全局项目排除,比如 macOS 的 .DS_Store。
Git 大学习:.gitignore 适合项目级别的文件忽略;.git/info/exclude 中记录的文件也会被排除但不会随着项目 .gitignore 提交;~/.config/git/ignore 是全局项目排除,比如 macOS 的 .DS_Store。
本文围绕 Git 的文件忽略机制展开,指出该工具支持三个不同层级的忽略配置,分别是项目共享、单仓库私有和全局用户级。这些层级互不干扰,开发者可根据文件是否需要提交到仓库或是否跨项目来选择合适位置,避免将临时或个人文件纳入版本控制。
本文说明 .gitignore 是最常用的项目级忽略文件,它会被提交到仓库中,适用于团队共享的忽略规则。Git 在执行各类命令时会读取该文件,跳过其中列出的文件或目录,使其不被跟踪或显示为未提交变更。
本文介绍 .git/info/exclude 存在于每个仓库的 .git 目录内,用于存放仅对当前仓库生效的忽略规则,且其修改不会被提交。该文件适合添加个人专属文件,如 notes.txt,避免将其加入项目 .gitignore 中造成不必要的共享。
本文指出 ~/.config/git/ignore 是用户主目录下的全局忽略文件,对本机所有 Git 仓库生效,适合放置跨项目的通用条目,例如 macOS 的 .DS_Store。它不属于任何仓库,也不会被提交,实现了机器级别的统一忽略管理。
本文提到 core.excludesFile 配置项可自定义全局忽略文件路径。用户可通过 git config --global 命令将其指向其他文件如 ~/.gitignore_global,执行 unset 命令即可恢复默认的 ~/.config/git/ignore 设置,满足个性化全局配置需求。
本文介绍 git check-ignore -v 命令用于诊断特定文件被哪个忽略规则匹配。运行后会输出来源文件路径和行号,分别显示来自 .gitignore、.git/info/exclude、全局 ignore 文件或自定义全局文件,帮助快速定位生效的忽略位置。
本文将macOS作为操作系统示例,指出用户可把.DS_Store这类系统文件加入全局忽略配置。作者认为这种做法能在所有本地仓库中生效,避免反复处理同一类文件。示例强调了全局配置对特定操作系统文件的针对性价值。
Nelson Figueroa是本文作者。他分享长期使用Git后发现的三个层级忽略文件方法,并用个人路径示例说明全局配置的设置与还原命令。文章中的输出样例也反映了其本地仓库的实际使用场景。
可左右滑动查看