项目中的某个文件(比如app.iml)已经被commit,并push到远程服务器server了,这时发现app.iml不应该被git管理,同步到团队每个开发人员那里,这时在.gitignore文件里面添加"app.iml"已经不起作用了。因为.gitignore只对从来没有commit过的文件起作用。这时可以通过以下方法来忽略掉这个文件。
建议不要在idea工具上执行以下操作,最好使用Git命令操作
方法一:
1.先把项目备份,以防万一。
2.git rm --cached app.iml //从版本库中rm 文件,working dicrectory中仍然保留,如果要删除目录下所有文件包括子目录中的 git rm -r --cached directory_name
3.在.gitignore中添加要忽略的文件
4.把修改的文件commit并且push到服务端
5.从git上重新拉取这个项目。
方法二:
1.直接在远程仓库上把这个文件删除
2.先把本地文件备份一下,再把pull一下远程分支
3.这时候本地要忽略文件已经被删除掉,再把原来备份文件拷过来
4.这时候千万不要把刚拷贝过来的文件添加到git中
5.把刚拷贝的文件添加到.gitignore文件中
5.再推到远程仓库即可