什么文件应该在我的。gitignore为一个Android工作室项目?

我见过几个包含。iml的例子,但是IntelliJ文档说。iml必须包含在你的源代码控制中。


当前回答

我支持提交。idea文件夹(不包括workspace.xml和tasks.xml)。但我开始得出结论,.iml文件应该被忽略。

问题在于:

例如,在名为“foo”的目录下打开一个项目,你将得到foo。我和那一切看起来都很好。问题是,如果我只是将目录重命名为foo2(或克隆为另一个目录名),当你尝试在Android Studio中打开项目时,你会得到三件事:

一个名为foo2.iml的新iml文件 你的Android项目的iml文件将被更改为指向foo2作为它的父文件 .idea/modules.xml将为foo2添加一行。它既有旧的Iml文件,也有新目录的Iml文件

我找不到方法来阻止Android工作室做这个iml文件生成时,项目存储在一个不同的目录。将它们添加到源代码控制中会导致问题。因此,我认为也许我们应该忽略*。Iml文件和。idea/modules.xml

其他回答

使用Android Studio 3.0测试

你可能需要安装.ignore插件。

你可以为Android自动生成.gitignore文件。 右键单击文件夹并跟随

然后从左侧面板选择Android,单击Generate

Android Studio将生成.gitignore文件,其中包含所有需要忽略的文件。

摘自http://menukanows.com/how-to-add-gitignore-file-in-android-project/

为了避免所有文件的导入,Android Studio忽略“Ignored files”列表,但仍然利用Android Studio VCS,我做了以下工作: 这将使用Android Studio中的“忽略文件”列表(导入后!并且避免使用龟SVN设置SVN:ignore列表的繁琐方式。

使用Tortoise SVN存储库浏览器直接在存储库中创建一个新的项目文件夹。 使用Tortoise SVN在要导入的文件夹上方签出新文件夹。您将得到一个警告,说明本地文件夹不是空的。忽略警告。现在,您有了一个版本化的顶级文件夹,其中包含未版本化的内容。 从本地工作目录打开项目。VCS现在应该自动启用了 在“文件->设置->版本控制->忽略文件”中设置文件例外 从Android Studio添加文件到SVN:在项目结构中选择“App”-> VCS ->添加到VCS(这将添加所有文件,除了“忽略文件”) 提交修改

下一步,“被忽略的文件”将被忽略,你仍然可以从Android Studio管理VCS。

干杯, -Joost

Android Studio 3.5.3

我在我的库和项目中使用这个,它涵盖了大多数由android studio和其他著名工具生成的文件:

# Built application files
*.apk
*.ap_
*.aab

# Files for the ART/Dalvik VM
*.dex

# Generated files
bin/
gen/
out/
app/release/

# Gradle files
.gradle/
build/

# Local configuration file (sdk path, etc)
local.properties

# Log Files
*.log

# Android Studio Navigation editor temp files
.navigation/

# Android Studio captures folder
captures/

# IntelliJ
*.iml
.idea/workspace.xml
.idea/tasks.xml
.idea/gradle.xml
.idea/assetWizardSettings.xml
.idea/dictionaries
.idea/libraries
.idea/caches

# Keystore files
# Uncomment the following lines if you do not want to check your keystore files in.
#*.jks
#*.keystore

# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild

# Freeline
freeline.py
freeline/
freeline_project_description.json

# fastlane
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
fastlane/readme.md

#NDK
*.so

编译:

#built application files
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# generated files
bin/
gen/

# Gradle files
.gradle/
build/
/*/build/

# Local configuration file (sdk path, etc)
local.properties

# Proguard folder generated by Eclipse
proguard/

# Log Files
*.log

# Windows thumbnail db
Thumbs.db

# OSX files
.DS_Store

# Eclipse project files
.classpath
.project

# Android Studio
*.iml
.idea
#.idea/workspace.xml - remove # and delete .idea if it better suit your needs.
.gradle
build/

# Intellij project files
*.iml
*.ipr
*.iws
.idea/

更新:7/2015

以下是来自JetBrains的确切来源


基于目录的项目格式(。想法目录)

默认情况下,所有最新的IDE版本都使用这种格式。以下是你需要分享的内容:

项目根目录下的。idea目录下的所有文件,除了存放用户特定设置的workspace.xml和tasks.xml文件 可以位于不同模块目录下的所有.iml模块文件(适用于IntelliJ IDEA)

分享以下信息时要小心:

生成签名构建的Android构件(将包含密钥库密码) 在IDEA 13和更早的数据源中。id、datasources.xml可以包含数据库密码。IDEA 14解决了这个问题。

你可考虑不分享以下资料:

xml文件,请参阅此讨论 用户字典文件夹(如果其他开发人员有相同的名称,可以避免冲突) .idea/libraries下的XML文件,以防它们是从Gradle项目中生成的

遗留项目格式(.ipr/.iml/。技术手册文件)

共享项目的。ipr文件和所有的。iml模块文件,不要共享。iws文件,因为它存储了用户特定的设置

虽然这些说明是针对IntelliJ IDEA的,但它们100%适用于Android Studio。


下面是一个.gitignore代码片段,它包含了上述所有规则:

# Android Studio / IntelliJ IDEA 
*.iws
.idea/libraries
.idea/tasks.xml
.idea/vcs.xml
.idea/workspace.xml