https://www.cnblogs.com/kevingrace/p/5690241.html

背景

已经标明忽略的文件目录下的文件,git push的时候还会出现在push的目录中,或者用git status查看状态,想要忽略的文件还是显示被追踪状态。

产生原因

在git忽略目录中,新建的文件在git中会有缓存,如果某些文件已经被纳入了版本管理中,就算是在.gitignore中已经声明了忽略路径也是不起作用的,
这时候我们就应该先把本地缓存删除,然后再进行git的提交,这样就不会出现忽略的文件了。

解决方案

1、git清除本地缓存(改变成未track状态),然后再提交:

[root@xx ~]# git rm -r --cached .
[root@xx ~]# git add .
[root@xx ~]# git commit -m 'update .gitignore'
[root@xx ~]# git push -u origin master

注意

想要.gitignore起作用,必须要在这些文件不在暂存区中才可以,.gitignore文件只是忽略没有被staged(cached)文件,
对于已经被staged文件,加入ignore文件时一定要先从staged移除,才可以忽略。

2、在每个clone下来的仓库中手动设置不要检查特定文件的更改情况。
[root@xx ~]# git update-index --assume-unchanged PATH