1. 检查文件是否已被跟踪
忽略规则作用于尚未跟踪的文件。文件此前已经提交时,添加规则不会将它从 Git 索引中移除。
git ls-files -- path/to/file如果命令输出路径,说明文件已被跟踪。请参考停止跟踪文件的指南:
2. 查看匹配了哪条规则
在仓库中使用相对于仓库的实际路径运行检查命令,输出会指出规则来源文件和行号。
git check-ignore -v -- path/to/file测试已被跟踪的文件时,加上 --no-index:
git check-ignore -v --no-index -- path/to/file 3. 检查目录位置与规则顺序
开头的 / 以该 .gitignore 所在目录为基准;结尾的 / 只匹配目录。同一优先级中,后面的匹配规则可以覆盖前面的规则。以 ! 开头的规则可以重新纳入路径,但如果父目录已被排除,Git 不会继续遍历其中的文件。
4. 检查其他忽略来源
Git 还会读取 .git/info/exclude 和 core.excludesFile 配置的全局文件。因此,即使项目的 .gitignore 中没有相关规则,文件也可能被忽略。可用以下命令查看全局配置:
git config --get core.excludesFile 准确行为与更多细节请参阅官方说明: Git 官方文档