一、问题描述:
- 在已经提交过的git管理的项目中,新增加一个.gitignore文件,或者修改.gitignore文件之后,新增的忽略内容不生效
二、问题原因:
- gitignore文件只能作用于Untracked Files的文件,也就是那些从来没有被 Git 记录过的文件(自添加以后,从未 add 及 commit 过的文件),如果某些文件已经被纳入了版本管理中,就算是在.gitignore中已经声明了忽略路径也是不起作用的
三、问题解决:
- 在git数据库中删除对于该文件的追踪
git rm -r --cached .
, 执行这一步之后,所有的代码都会变为未提交状态(红色) - 将对应.gitgnore规则写入
- add + commit +push,新增忽略内容即可生效
bash
git rm -r --cached .
git add .
git commit