.gitignore 问题排查
解决忽略规则和文件跟踪中的具体问题,选择与你遇到的情况相符的文章。
.gitignore 为什么不生效?
使用 git ls-files 和 git check-ignore 排查已跟踪文件、规则匹配、例外规则及全局忽略配置。
如何忽略已经被 Git 跟踪的文件?
了解 .gitignore 为什么不影响已跟踪文件,以及如何从 Git 索引中移除路径并保留本地副本。
为什么用 ! 仍无法保留被忽略目录里的文件?
排查父目录被忽略时 .gitignore 例外规则失效的问题,对比失败与可用规则,并验证匹配结果。
文件为什么被全局规则忽略?
定位忽略规则来源,检查 core.excludesFile,并区分项目、本仓库私有和全局忽略规则。
如何忽略文件夹?folder/ 和 /folder/ 有什么区别?
区分根目录与任意层级目录匹配、末尾斜杠及子目录规则的作用范围,并检查匹配结果。
如何按扩展名忽略文件?* 和 ** 怎么用?
通过具体路径比较 *.log、/logs/*.log 和 /logs/**/*.log,验证直接子文件与递归匹配。
如何只在本地忽略文件,不修改项目 .gitignore?
使用仓库本地 exclude 文件忽略个人未跟踪文件,不改动团队共享的项目规则。
如何忽略 .env,同时保留 .env.example?
排除本地环境值文件,保留经过检查的配置示例,并处理已被 Git 跟踪的环境文件。
如何忽略所有目录中的 .DS_Store?
忽略根目录及子目录的 .DS_Store,检查已跟踪副本,并针对具体路径移除索引记录。
如何保留空目录?.gitkeep 与 .gitignore 怎么选?
选择占位文件或目录内的 .gitignore,保留目录结构并决定如何处理后续生成内容。