我看到了很多.gitignore
有关AndroidStudio文件的示例,其中有些包含.idea
,有些则没有。
是否有充分的理由不将整个.idea目录添加到.gitignore?
如果不应该完全忽略它,.idea中是否存在应放在.gitignore中的特定文件(例如.iml)?
我看到了很多.gitignore
有关AndroidStudio文件的示例,其中有些包含.idea
,有些则没有。
是否有充分的理由不将整个.idea目录添加到.gitignore?
如果不应该完全忽略它,.idea中是否存在应放在.gitignore中的特定文件(例如.iml)?
Answers:
您可以看一下此页面:
在“基于目录的格式”中,有趣的是:
.idea目录包含一组配置文件(.xml)。每个文件包含仅与这反映在一个文件的名称的某些官能区域的配置数据的一部分,例如,
compiler.xml
,encodings.xml
,modules.xml
。几乎所有文件都包含项目本身的信息核心,例如其组件模块的名称和位置,编译器设置等。因此,可以(并且应该)将这些文件保留在版本控制下。
但是,我适当地讨厌使项目依赖于IDE(我目前正在使用NetBeans创建一个项目,并且将其与Eclipse结合使用会很麻烦,而Eclipse成为我公司的标准)。
因此,回答您的问题:
好的,所以在回答“是”和“否”之后,我添加了“是和否”的答案:)
问题是.idea
用于项目构建配置(依赖项声明)和项目设置(检查等)。
您绝对不希望将IDE用于构建配置,但您可能希望在团队中共享设置。这就是为什么你只需要忽略的部分.idea
内容(如libraries
文件夹和modules.xml
文件),但保留其他版本控制(例如copyright
,dictionaries
和inspectionProfiles
下文件夹和文件.idea
一样dynamic.xml
,codeStyleSettings.xml
等)。
将项目配置保留在VC中的概念是有效的。我之所以与我的团队合作,是因为我们所有开发人员都在项目中使用PHPStorm,因此在概念上保持通用配置是很有意义的。我们希望使用相同的字典文件,相同的编码标准规则和相同的插件配置。
我之所以用“概念上”来称呼它,是因为JetBrains的.idea文件夹存在问题,导致我们无法使用它。这些可能是可以避免或解决的问题,但是我们不清楚如何正确地做,我们认为这是JetBrains的错,因为作为开发人员,我们没有时间也不想寻找解决方案,我们的IDE可以正常工作。
话虽这么说,但存在的问题如下:
在使用Visual Studio和Netbeans之前,我已经在VC中完成了这些类型的共享IDE配置,并且一切都很好。但是使用.idea时,感觉简直无法使用,令人失望。我希望JetBrains能够超越它,并使其获得更好的用户体验。
.idea
除了下的某些文件,我无视.idea/runConfigurations/
。