guides

.gitignore 指南

以 git 官方文档为依据,整理了从模式语法到优先级、全局设置、已提交文件的处理以及调试的内容。

.gitignore 模式语法全解

结合示例表格,整理 gitignore 的模式语法:注释、转义、行尾空格、否定 !、末尾斜杠、锚定、*、?、[] 通配符以及 ** 规则。

gitignore 的优先级与否定(!)模式

说明最后一条规则获胜的原理、.gitignore、info/exclude 与全局设置之间的优先级,以及父目录被排除后无法用 ! 恢复的原因和解决方法。

设置全局 gitignore (core.excludesFile)

说明如何设置 core.excludesFile,让 macOS .DS_Store、编辑器文件等由个人环境产生的文件在所有仓库中被忽略,以及默认路径。

用 .git/info/exclude 编写只属于自己的忽略规则

说明如何在不修改 .gitignore 的情况下,把只作用于单个仓库的个人忽略规则写入 .git/info/exclude,以及适用场景和优先级。

用 .gitignore 忽略已提交的文件

说明如何用 git rm --cached 让加入 .gitignore 后仍被跟踪的文件取消跟踪、如何找出匹配忽略规则的已跟踪文件,以及机密信息被提交后的处理顺序。

为什么被忽略?用 git check-ignore 调试

介绍如何用 git check-ignore -v、git status --ignored、git ls-files 找出忽略文件的规则,并排查规则不起作用的 7 个常见原因。

该忽略什么,该提交什么

整理忽略构建产物、依赖、缓存和机密,提交 lockfile、示例配置和团队编辑器设置的标准,以及下层 .gitignore、保留空目录和合并模板的要点。