为什么会不生效
因为文件已经被git追踪(或者说被track 或者说被索引,都是一个意思)。
目前.gitignore面对已经被git追踪的文件是无法生效的。(这是现状,我们只能接收这个现状。不过个人觉得git官方可以对这方面进行优化调整,让其能达到我们想要的效果)
解决方案:
1.使用git rm --cache filePath
命令
该命令的作用有两个:
- 从git的 追踪列表 / track列表 / 索引列表 中删除该文件
- 从git的暂存区删除该文件
一旦文件不再被git追踪,.gitignore就开始生效了。
2.然后使用git commit
命令
原因是:git rm --cache filePath 执行后,git暂存区少了该文件,对于git来说就是删了该文件,属于文件变更,所以要提交
补充
如果想查看git的 追踪列表 / track列表 / 索引列表,可以使用命令git ls-files
。