
对于许多开发人员来说,Android Studio中的.idea文件夹对我来说总是像一个黑匣子:我知道它存在,我知道它总是添加到.gitignore中,但是我决定找出为什么需要它们或其他文件和文件夹,以便我有机会处理有时会发生的git冲突,以便准确知道可以安全地将哪些文件添加到.gitignore中,而哪些则不能。
我在我正在从事的项目的示例中弄清楚了。 我决定分享我发现的结果,因为 我没有找到任何文档。
指示要添加到.gitignore
的路径
表示Android Studio已添加到.gitignore
的路径,您不应对其进行.gitignore
。
指示您应该在git中存储的路径。
assetWizardSettings.xml
该文件存储使用Android Studio界面添加的最后一个图标。 可以安全地将其从VCS中删除。

快取
顾名思义,可以将缓存安全地添加到.gitignore
。
我认为没有理由将其保留在VCS中,但是默认情况下,此文件夹未添加到.gitignore
。
缓存/ build_file_checksums.ser
实际上,此文件是ProjectBuildFilesChecksums的序列化实例。
需要使用该文件来检查build.gradle
, settings.gradle
, local.properties
, ~/.gradle/gradle.properties
, gradle.properties
或build.gradle
文件是否已build.gradle
。
Android Studio使用此文件告诉您需要同步gradle文件。
codeStyles
此文件夹包含项目代码样式设置。 如果您更改了默认代码样式,则对其进行版本化很有用。
词典
该文件夹包含您添加到字典中以验证代码的条目。 如果您在CI系统中有严格的规则,则此词典很重要。
gradle.xml
我建议从git中删除此文件。 它可能包含您的gradle版本的本地路径,以及您的模块的路径。 例如,您可以在单独的存储库中开发模块,因此模块的路径可能特定于每个用户。
由于所有这些原因,我从VCS中永久删除了gradle.xml
文件。
检查资料
此文件夹包含项目的特定Lint规则。 因此,就像dictionaries
文件夹一样,它应该存储在git中。
图书馆
它包含一个文件,该文件指示库的jar文件的存储位置。 由于下载路径可能特定于每个用户,因此您不应将此文件夹存储在VCS中。
misc.xml
该文件包含有关项目的信息:Java版本,项目类型等。
此信息与项目有关,与用户无关。 因此,应将其存储在git中。
modules.xml
该文件包含您模块的.iml
文件的路径。 因此,类似于gradle.xml
它不能存储在git中。
navEditor.xml
这是您的项目存储在导航编辑器中的位置 。 如果此信息与您的项目有关,则应将此文件保存在git中。 否则,请随时将其添加到.gitignore
以避免将来发生冲突。
runConfigurations.xml
该文件名可能会提示您它包含可以通过单击“更改配置”添加的配置。 该文件必须存储在VCS中。

vcs.xml
该文件包含有关您在项目中使用的VCS的信息。 使用它可以使您可以使用图形界面执行版本控制操作。 也值得添加到git中。
工作区.xml
它包含有关您在Android Studio中工作区的信息。 例如,您打开的文件上的最后一个光标位置。 因此,这绝对是用户信息,无需将其存储在git中。
总结
我建议您在默认的.gitignore
文件中仅添加三行:
/.idea/assetWizardSettings.xml /.idea/gradle.xml /.idea/caches # Uncomment next line if keeping position of elements in Navigation Editor is not relevant for you # /.idea/navEditor.xml
就像我在本文开头所说的那样,我没有找到有关.idea
文件夹内容的任何文档,因此,本文可能不完整和/或不是100%准确。 如果您知道本文中没有的其他内容,请在评论中进行介绍。