可以/应该将kotlinc.xml添加到我的版本控制忽略文件中吗?

Eri*_*rik 7 java version-control intellij-idea kotlin

在IntelliJ IDEA(2017.1.2)中设置Java项目的过程中的某个位置,显示了一个.idea/名为的目录kotlinc.xml.我对Kotlin什么都不做,但文件里面有内容:

<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="KotlinCommonCompilerArguments">
    <option name="languageVersion" value="1.1" />
    <option name="apiVersion" value="1.1" />
  </component>
</project>
Run Code Online (Sandbox Code Playgroud)

这似乎是一些通用的配置,但我可以想象一些特定于项目的(而不仅仅是我的本地IDEA特定的)Kotlin配置存储在那里.因此,一般情况下,在版本控制下共享项目(例如Git)时,是否可以忽略此文件,即不提交它并在线发布它?还是应该被忽略?

gug*_*upf 6

您不应将此文件添加到版本控制忽略文件中。我们已签入此文件,因为它包含相关的 JVM 目标信息。这与Jetbrains 官方共享建议一致,其中指出:

以下是您需要分享的内容:

  • .idea 目录下的所有文件 [...]

kotlinc.xml 并未声明为该规则的例外。

此外,来自githubgitignore.io的 gitignore 模板未列出此文件,因此应将其签入。


And*_*mov 5

我从未提交过.idea目录中的任何内容。

如果您使用GradleMaven等现代构建系统,则无需提交此类元文件,因为 Intellij IDEA 或 Eclipse 等 IDE 可以成功从依赖项/属性中提取此类元数据。

大多数情况下,IntelliJ 会要求您覆盖.idea文件夹中的现有属性。

导入 Gradle / Maven 项目后,IntelliJ 将创建自己的.idea包含配置和属性的目录。

我更喜欢让我的项目尽可能干净(源代码、构建(gradle、maven)文件、CI、自述文件)。幸运的是,Java 允许我们制作可移植的源代码/项目,所以我们不应该浪费这个机会:)

  • 这不应该是公认的答案。它没有告诉我们该文件为何存在、它如何工作和/或它是否应该与源代码一起进行版本控制。相反,它提供了有关一组文件的最佳实践的意见,这些文件的存在原因非常广泛。 (18认同)
  • 这不应该是公认的答案。在某些特定的开发情况下,您绝对希望存在项目和 ide 文件。如果您的整个开发团队已选择给定的工具集,并且您想共享特定项目的特定文件,为什么不呢?显然您不想存储用户特定的配置文件,但项目范围的文件就可以了。 (4认同)