每日一坑
某天,我们组某人在push的时候,莫名其妙就把.idea文件夹上传到git了。也不知道为什么筛选规则会出问题。
现在每次push的时候都会上传.idea和target文件夹。包含大量的冗余文件夹 .gitignore好像失效了
既然.idea文件夹被添加到了远程git中,那么.idea文件夹就处于被track的状态,.gitignore的筛选规则对于已经track的文件是不起作用的,
.gitignore文件是对 git add 操作进行筛选,对于已经add(即已经track的)是不起作用的
同样,由于远程仓库中有.idea文件夹,当你从远程仓库pull的时候,会把.idea文件再次添加到本地仓库的track中。
只有小组中所有人都清除了本地仓库都对.idea文件的追踪,然后再删除远程端对.idea的追踪,才能彻底排除.idea,只清除其中一项都是没用的。
原因:如果小组中有的人没有清除对.idea的追踪,当这个人push的时候会把.idea文件夹再次push到远程仓库.
那么其他人再pull的时候又会把.idea文件夹拉到本地,这些人的本地仓库会再次track .idea文件夹就回到问题的原点了.
运行一下命令应该能解决问题
清楚所有被track文件的缓存
git rm -r --cached .
然后重新添加track.此时.gitignore应该是生效的
git add .
git status 查看一下变更文件