git提交文件时,工程中一些自动生成的文件和编译过程中生成的文件总会在每次提交时出现变化,而我们只需要提交自己代码中的修改就好,这时就要用到 .gitignore 文件配置,来忽略掉这些文件。
1 .gitignore 的规则
#(以 # 开头)这一行时注视会被git忽略
*.iml #忽略所有以 .iml 结尾的文件
!lib.iml #但是lib.iml除外,(配合上一句理解,即git会忽略掉除 lib.iml 之外的所有以 .iml 结尾的文件)
/local.properties #仅忽略掉 项目根目录下的local.properties 但不包括 子目录下的此类文件
build/ #忽略掉build/目录下的所有文件
doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
2 .gitignore规则不生效的解决办法
把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被追踪的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未被追踪状态),然后再提交:
git rm -r --cached .
git add .
git commit -m 'update .gitignore'