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

Pra*_*chi 54 version-control android android-studio

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

Mar*_*ski 47

一般的最佳做法是:

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

所以答案是:最好为VCS忽略这些文件.

  • 我不确定是否在调用maven的线程中考虑到了-完全有可能在没有maven的情况下创建Idea项目,在这种情况下,应该确实将其提交(因为这是存储项目conf的唯一位置)。但是,如果您使用maven,并且仅生成了iml,则我看不到这一点。 (2认同)

小智 7

是的,.iml文件适用于版本控制(请参阅此评论)

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

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

  • 共享构建配置
  • 共享依赖项
  • 自动代码质量检查的配置

有更多的用例,具体取决于具体的IDE.编辑:对于IntelliJ,也请参阅此常见问题解答