一般需要忽略的文件如下:
1、.idea文件夹 //含了开发所需的各种环境
2、.gradle文件夹 //gradle工具的ge'ge'ban'b自动下载
3、所有的build文件夹 //打包自动生成
4、所有的.iml文件
5、local.properties文件 //本地配置文件,如skd路径
Git的忽略文件的语法规则
兼容Linux通配符。
匹配以“!”开头,表示例外规则,将不被忽略。
匹配以“/”开头,表示匹配只当前文件夹的内容,或表示防止递归。
匹配以“/”结尾,匹配目录,而非文件(默认文件或目录都忽略)。
示例:根目录下
# 这是注释行,将被忽略
*.a # 忽略所有以.a为扩展名的文件
!lib.a # 但是名为lib.a的文件或目录不要忽略,即使前面设置了对*.a的忽略
doc/*.txt # 忽略文件如doc/notes.txt,但是文件如doc/server/arch.txt不忽略
doc/**/*.txt # 使用两个星号(**) 表示匹配任意中间目录,比如a/**/z可以匹配 a/z, a/b/z 或 a/b/c/z等。
test #忽略目录下所有test
/TODO #仅忽略当前层级下的 TODO
build/ # 忽略所有build
注意:
tips:.gitignore是在工作区添加到缓存区的过程中拦截的,已经添加的缓存区的不能再拦截。
.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未track状态),(解决)然后再提交:
git rm -r --cached . #注意后面有个点
git add . #从新添加文件到cached
git commit -m ""
git push
栗子(Android的忽略规制):
*.iml
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
build/
/captures
.externalNativeBuild
.idea/vcs.xml