是否必须在Version控件中保存* .iml文件?

时间:2014-08-26 11:40:40

标签: android android-studio version-control

我现在已切换到Android Studio并使用Source Tree将项目保存在Git中。每当我从模块中添加或删除任何库时,其.iml文件也会更改。如果我提交* .iml是非常重要的,因为它们会在其他Android Studio中自动生成。但是,here 它表示你应该存储* .iml。我的问题是,我们真的需要与他人分享我们的* .iml吗?如果是,为什么?

3 个答案:

答案 0 :(得分:34)

一般最佳做法是:

  • 使项目尽可能与IDE无关,
  • 不提交生成的文件。

所以答案是:为VCS忽略这些文件会更好。

答案 1 :(得分:6)

是的,.iml文件适用于版本控制(请参阅this comment

使项目尽可能与IDE无关,但是,共享.iml文件对于使用其他IDE开发的人来说不会破坏任何内容。对于他们来说,他们只是一堆相对较小的文件,并不关心他们。

同时使用不同IDE的团队的一个好习惯是将每个IDE的项目文件存储在VCS中,仅排除那些包含特定于单个开发人员环境的路径,环境变量等的文件。这样,使用其中一个支持的IDE的任何人都可以享受正确的共享设置带来的好处,例如:

  • 分享构建配置
  • 分享依赖关系
  • 自动代码质量检查的配置

还有更多用例,具体取决于具体的IDE。 编辑:对于IntelliJ,另请参阅this FAQ

答案 2 :(得分:0)

我同意它们是与IDE无关的文件,与代码无关,并且不应共享。 但是,那么您应该知道如何重新生成它们。

您可能会遇到这样的情况,即您的远程仓库中不包含这些文件,并且当您克隆代码并在IDEA中打开时,它只会显示很多错误。为什么? *.iml文件不会重新生成。

您必须使用“文件”-“新建”-“版本控制项目”从IDEA导入。只有这样才能为您生成文件。