问题
有个项目中发现.gitignore文件也存在,但就是不生效,由于历史、人员离职等原因该项目无人管理,偶现一个bug,排查验证后就上线了,但提交时编译类的问题看得眼花缭乱,/target下的编译文件、.iml的配置
文件,看得不够清爽,决定捣腾下。
原因
.gitignore文件中只会忽略从始至终未被Git跟踪的文件。怎么理解?打个比方项目刚开始初始化时.gitignore没有创建,后续提交时也没有将如/target下的文件过滤掉从而导致编译文件被提交至Git,那么即使后来新建了.gitignore文件并过滤了/target目录,也不会忽略。除非执行下述命令。
解决
进入项目所在目录,执行如下命令
git rm -r --cached .
git add .
git commit -m 'update .gitignore config'
注意命令最后是有一个点的