项目中的某个文件或目录已经被commit,并push到远程服务器server了。
这时发现要忽略该文件或目录,在.gitignore文件里面添加规则已经不起作用了。因为.gitignore只对从来没有commit过的文件起作用。
解决办法:
1.先把项目备份,以防万一。
2.从版本库中rm文件或目录
rm文件
git rm --cached file_name //从版本库中rm文件,working dicrectory中仍然保留
rm目录
git rm -r --cached directory_name //删除目录下所有文件包括子目录
3.在.gitignore中添加要忽略的文件
4.把修改的文件commit并且push到服务端
5.从git上重新拉取这个项目。