为了避免麻烦,最好是一开始就设定好.gitignore
文件,避免误提交了这些无用的文件。但是并不是所有情况都能在最开始就考虑周全的。因为.gitignore
只能忽略掉那些原来没有被track的文件,如果有一些文件已经被纳入版本控制管理当中,那么直接修改.gitignore
是无效的
有些文件已经被提交,但是后期做项目的过程中,我们想要忽略这些文件的跟踪。这些文件在本地磁盘中还想保留着
此时我们可以这样做:
-
git rm --cache somefiles
删除本地缓存 -
更新
gitignore
文件,忽略目标文件(somefiles
) -
最后
git commit -m 'We don't need that somefiles
注意,这种方法下somefiles只会在提交者的磁盘中保留,如果其他开发者拉取你的commit后,他们磁盘内的这些文件也会消失,但是过滤掉的IDEA文件,别人的开发拉下代码后,他们使用IDEA重新刷新maven工程,那些消失的文件就会重新生成,并且大家各自拥有本地的文件iml,idea那些等不需要被追踪的文件。
如果要删除目录下所有文件包括子目录中的 git rm -r --cached
git配置
*.idea
*.gitignore
.gitignore
*.lst
*.class
target
*.jar
*.iml