对于 Android Studio 项目,我的.gitignore
应包含哪些文件?
我已经看到几个例子都包含.iml
但 IntelliJ 文档说.iml
必须包含在你的源代码管理中。
已更新至 Android Studio 3.0请在评论中分享缺失的项目。
一个迟到的答案,但这里和这里的答案都没有对我们来说是正确的...
所以,这是我们的 gitignore 文件:
#built application files
*.apk
*.ap_
# files for the dex VM
*.dex
# Java class files
*.class
# generated files
bin/
gen/
# Local configuration file (sdk path, etc)
local.properties
# Windows thumbnail db
Thumbs.db
# OSX files
.DS_Store
# Android Studio
*.iml
.idea
#.idea/workspace.xml - remove # and delete .idea if it better suit your needs.
.gradle
build/
.navigation
captures/
output.json
#NDK
obj/
.externalNativeBuild
从 Android Studio 2.2 到 3.0 版本,使用此 gitignore 文件创建了新项目:
*.iml
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
/captures
.externalNativeBuild
不推荐使用 - 对于较旧的项目格式,请将此部分添加到您的 gitignore 文件中:
/*/out
/*/*/build
/*/*/production
*.iws
*.ipr
*~
*.swp
此文件应位于项目的根文件夹中,而不是位于项目的模块文件夹中。
编辑笔记:
从版本 0.3 + 开始,您似乎可以提交并推送* .iml和build.gradle文件。如果您的项目基于 Gradle:在新的打开 / 导入对话框中,您应该选中"use auto import"
复选框并选中"use default gradle wrapper (recommended)"
单选按钮。所有路径现在都是 @George 建议的相对路径。
根据 @ 128KB 附加源和 @Skela 建议更新了答案
基于我的普通 Android .gitignore ,在阅读了 Intellij IDEA 网站上的文档并阅读 StackOverflow 上的帖子后,我构建了以下文件:
# built application files
*.apk
*.ap_
# files for the dex VM
*.dex
# Java class files
*.class
# built native files (uncomment if you build your own)
# *.o
# *.so
# generated files
bin/
gen/
# Ignore gradle files
.gradle/
build/
# Local configuration file (sdk path, etc)
local.properties
# Proguard folder generated by Eclipse
proguard/
# Eclipse Metadata
.metadata/
# Mac OS X clutter
*.DS_Store
# Windows clutter
Thumbs.db
# Intellij IDEA (see https://intellij-support.jetbrains.com/entries/23393067)
.idea/workspace.xml
.idea/tasks.xml
.idea/datasources.xml
.idea/dataSources.ids
另请注意,正如所指出的,当您使用 Android NDK 构建自己的本机代码时, 构建的本机文件部分非常有用。另一方面,如果您使用的是包含这些文件的第三方库,您可能希望从. gitignore 中删除这些行(* .o 和 * .so)。
2015 年 7 月更新:
默认情况下,所有最新的 IDE 版本都使用此格式。以下是您需要分享的内容:
.idea
目录下的所有文件, 除了存储用户特定设置的workspace.xml
和tasks.xml
文件.iml
模块文件都可以位于不同的模块目录中(适用于 IntelliJ IDEA) 分享以下内容时要小心 :
dataSources.ids
, datasources.xml
可以包含数据库密码。 IDEA 14 解决了这个问题 。 您可以考虑不要分享以下内容:
.idea/libraries
下的 XML 文件,以防它们是从 Gradle项目生成的 旧项目格式( .ipr
/ .iml
/ .iws
文件)
.ipr
文件和所有.iml
模块文件, 不要共享 .iws
文件,因为它存储用户特定的设置虽然这些说明适用于 IntelliJ IDEA,但它们对于 Android Studio 来说却是 100%真实的。
这是一个包含以上所有规则的.gitignore
片段:
# Android Studio / IntelliJ IDEA
*.iws
.idea/libraries
.idea/tasks.xml
.idea/vcs.xml
.idea/workspace.xml