Laravel项目App与Resources文件夹新文件被Git忽略无法检测如何解决
Laravel 项目 App/Resources 目录新增文件被Git忽略解决方案
根因说明
你遇到的是典型的Git忽略规则匹配目录下所有内容、而非忽略目录本身的场景:如果规则是直接忽略目录(如/app/),已被追踪的旧文件修改也不会被识别,和你的现象不符;如果规则是匹配目录下的所有内容(如app/*),已被追踪的旧文件修改仍会被检测,只有新增文件会被忽略,完全符合你描述的特征。
操作步骤
第一步:定位生效的忽略规则
执行命令git check-ignore -v 待测试的新增文件路径,例如你在app目录下新建了Helpers/Common.php,就运行:git check-ignore -v app/Helpers/Common.php
命令会直接输出触发忽略的规则内容、以及规则所在的文件路径,可能是以下三类文件之一:- 项目根目录的
.gitignore - app/resources子目录下单独的
.gitignore - Git全局配置的忽略文件(可通过
git config --global core.excludesfile查看路径)
- 项目根目录的
第二步:修改忽略规则
打开上一步查到的规则文件,删除匹配app/*、resources/*的对应规则;如果你需要保留原规则但放开这两个目录的忽略,可在原有忽略规则下方添加例外规则:!app/ !app/**/* !resources/ !resources/**/*例外规则优先级更高,会覆盖前面的忽略匹配逻辑。
第三步:刷新Git缓存
规则修改完成后,执行以下命令清除Git对这两个目录的忽略缓存,重新追踪目录内容:git rm -r --cached app resources git add app resources git commit -m "修复app、resources目录新增文件被忽略的问题"操作完成后,后续两个目录下的新增文件就会被Git和Github Desktop正常检测到。
内容的提问来源于stack exchange,提问作者Hafid Maulana
相关产品推荐
相关产品推荐

