运行Angular项目时.gitignore失效,.angular/cache删文件被Git检测
Angular项目
npm start后.angular/cache删除变更被Git追踪的解决办法 核心原因
如果.angular/cache下的文件曾经被提交到Git仓库,后续添加的.gitignore规则不会生效——Git只会忽略从未被追踪过的文件,已追踪文件的变更仍会被检测到。
解决步骤
检查文件是否被Git追踪
执行命令确认:git ls-files -- .angular/cache若有输出,说明这些文件已被Git追踪,这就是
.gitignore无效的根源。移除Git对这些文件的追踪(保留本地文件)
执行命令将文件从Git追踪列表中移除,不删除本地缓存文件:git rm -r --cached .angular/cache修正
.gitignore配置
确保.gitignore中包含正确的忽略规则,推荐直接忽略整个.angular文件夹:.angular/若需仅忽略缓存目录,也可写:
.angular/cache/注意:不要用
.angular/*,这种写法会忽略.angular下的子文件和子文件夹,但如果.angular文件夹本身被Git记录(比如空文件夹被提交过),可能导致规则失效,加斜杠明确表示忽略整个文件夹更可靠。提交变更
提交.gitignore和移除追踪的操作:git add .gitignore git commit -m "停止追踪.angular/cache目录"验证效果
重新执行npm start,之后运行git status检查,.angular/cache下的文件变更应该不会再被Git检测到。
额外排查
如果以上步骤无效,检查:
- 本地是否存在嵌套的
.gitignore文件(比如.angular/cache目录下自己有.gitignore) - Git全局配置是否有覆盖本地忽略规则的设置(执行
git config --global core.excludesfile查看全局忽略文件)
内容的提问来源于stack exchange,提问作者Ivailo Dombev
相关产品推荐
相关产品推荐

