Android项目中的哪些文件应该提交到版本控制存储库?不应该提交哪些文件?
现在我的.gitignore文件包含以下几行:
# Android generated files #
###########################
android.keystore
local.properties
bin/
gen/
libs/
obj/
# OS generated files #
######################
.DS_Store*
ehthumbs.db
Icon?
Thumbs.db
# Eclipse generated files #
###########################
.settings/org.eclipse.jdt.core.prefs
我错过了什么吗?
答案 0 :(得分:28)
GitHub在this public repository维护一份推荐的.gitignore文件的官方列表。
对于Android,您可以找到它here
或者只是复制/粘贴:
# Built application files
*.apk
*.ap_
# Files for the 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
答案 1 :(得分:7)
一般的经验法则是不将任何可以重新生成的文件提交到存储库中。话虽如此,您可能还想将project.properties
文件添加到.gitignore
(如果存在)。
答案 2 :(得分:3)
不要添加bin文件夹和gen文件夹。它们不是您生成源的一部分。将来要记住,您只添加构建和运行项目所需的文件,而二进制文件和生成的文件则不会。
然而,如果你没有使用像常春藤或maven这样的工具,你可能希望你的lib文件夹出现。通常当您使用库项目时,您还需要提交它
答案 3 :(得分:0)
从Android Studio 2.2.2开始(可能在此版本之前添加),当您创建新项目时,Google会为您添加一个默认的.gitignore文件,其中包含以下内容:
*.iml
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
/captures
.externalNativeBuild
与上述答案略有不同,因为它也忽略了.idea文件夹,其中往往包含大量文件。