Android stuido项目中有些文件是不需要提交到Git管理的。比如
local.properties
,xxx.iml
等文件都是每个开发者独有的一些配置。JDKB版本,SDK位置都各不一样。每个人都提交很明显会有冲突问题,最好的方式就是不加入git管理
1.在项目根目录创建.gitignore文件
该文件用与编写需要过滤的文件
2.编写gitignore文件
常规用法
.gradle
/local.properties
/.idea
.DS_Store
/build
*.iml
/captures
3.更详细的用法
在github用一个专门为各个平台提供的gitignore的写法
传送门:https://github.com/github/gitignore
Android.gitignore内容预览
# Built application files
*.apk
*.ap_
# Files for the ART/Dalvik VM
*.dex
# Java class files
*.class
# Generated files
bin/
gen/
out/
# Gradle files
.gradle/
build/
# Local configuration file (sdk path, etc)
local.properties
# Proguard folder generated by Eclipse
proguard/
# Log Files
*.log
# Android Studio Navigation editor temp files
.navigation/
# Android Studio captures folder
captures/
# Intellij
*.iml
.idea/workspace.xml
.idea/libraries
# Keystore files
*.jks
也就是GitHub官方推荐的.gitignore文件书写格式:
Android.gitignore
当然我们可以根据需求继续添加,例如在# Intellij下继续添加:
*.iws.idea/
相关过滤规则举例说明:
#:注释符号,自动被Git忽略
*.iml:过滤所有的.iml后缀的文件
.gradle/:过滤掉.gradle文件夹
local.properties:过滤掉local.properties文件
Git文件忽略正是通过编写.gitignore文件实现的。之后通过.gitignore忽略的文件则不会被提交到GitHub。
对比下本地AS的工程目录和提交到GitHub上的工程目录:
local.PNG
github.PNG
无论是通过SVN还是Git管理项目,建议在项目初创建时就做好文件忽略的工作,再提交到服务器。
最后补充
如果已经将上述文件都加入了git管理,你会发现即使已经添加.gitignore文件后,git仍然会将上述文件加入管理。此时你需要先删除这些文件(可先备份好),在提交给git仓库。在将刚才删除文件取回即可。