大家都知道, 在git项目下想要忽略某个文件,只需要在gitignore文件中添加此文件,但是有时候却不起作用,这是为什么呢?
因为如果第一次提交的时候,没有在gitignore文件中添加忽略文件,那么这些文件(目录也是文件)就会被git跟踪,push的时候也会被推送到远程。被跟踪的文件,gitignore都会失效,所以最好就是一开始在commit之前先添加到gitignore中。
如果文件已经被跟踪且被推送到远程,可以按照下面方法解决:
rm -rf 文件
git rm -r --cached 要忽略的文件
更新.gitignore文件,添加要忽略的文件
git add -A (添加所有)
git push origin 分支
如果同名的文件过多,如:.class 文件被提交了,那么如果这样一个一个显然效率太低,可以按照下面方法操作
find . -iname 文件名 -exec rm -rf {};
-
重复上面的步骤,文件名替换为下一个要删除的文件名
-
修改gitignore,添加忽略文件
git rm -r --cached 要忽略的文件
git add -A
git push origin 分支