IntelliJ IDEA 9/10,要签入(或不签入)源代码控制的文件夹是什么?

我们的团队刚刚从 Netbeans 迁移到 IntelliJ 9 Ultimate,需要知道哪些文件/文件夹通常应该被排除在源代码控制之外,因为它们不是“便携式工作站”,也就是说: 它们引用的路径只存在于一个用户的计算机上。

据我所知,IntelliJ 想要忽略大部分.idea 项目,包括

.idea/artifacts/*
.idea/inspectionProfiles/*
.idea/copyright/*
.idea/dataSources.ids
.idea/dataSources.xml
.idea/workspace.xml

但是,它似乎希望检入存在于每个模块的根目录中的 .iml文件。

我最初通过命令行检查了整个 .idea目录,显然没有意识到 IDEA 应该忽略哪些内容。通常会忽略整个 .idea目录吗?

34407 次浏览

是的,我想是的。您可以检查 SVN 配置以查看被忽略的内容,并添加您认为应该被忽略的内容。

我们有一个 常见问题文章覆盖这个问题。

默认情况下,所有最新的 IDE 版本都使用[ . idea ]格式。 以下是你需要分享的:

  • 项目根目录中 。想法目录下的所有文件 除了中存储用户特定设置的 XmlTasks.xml文件
  • 可以位于不同模块目录中的所有 。 iml模块文件(适用于 IntelliJIDEA)

在分享以下内容时,请小心 :

  • 产生 签名版本的 Android 工件(将包含密钥存储库密码)
  • 在 IDEA 13和更早的 DataSources.ids中,Xml可以包含数据库密码。

你可考虑以下 不要分享:

  • . iml 文件用于基于 格拉德尔玛文的项目,因为这些文件将在导入时生成
  • Xml file,< a href = “ http://youtrack.jetbrains.com/problem/IDEA-55923”rel = “ noReferrer”> 参见这个讨论
  • 用户 字典文件夹(如果其他开发人员的名称相同,则避免冲突)
  • 如果是 来自 Gradle 或者美芬项目,则使用 。创意/图书馆下的 XML 文件

.idea目录是旧目录的替代品。Ipr (创意项目)文件,如果你想在用户之间共享项目,那么你需要共享。文件夹(常见问题解答中提到的例外情况除外)和所有。Iml 文件。

你可能会觉得这篇文章很有趣: 合并 IntelliJ IDEA. IPR 和.IWS 文件

似乎可以得出这样的结论: 除了 workspace.xmldataSources.xmlsqlDataSources.xmldynamic.xml之外,您应该添加所有的文件。这里的答案是关注于拥有不仅仅从打开编辑器或者进行特定的更改就可以改变的文件。

不是问题的确切答案,但有样本。可用的 gitignore 文件 给你,包括 JetBrains 的一个文件,其中包括 IntelliJ。

我在用 PHPStorm。

下面是 .gitignore的一个示例代码片段

# Ignore the following 2 PHPStorm files only workspace and tasks file
**/.idea/workspace.xml
**/.idea/tasks.xml

.idea目录中的所有其他文件都应该提交到存储库中。

(提交 .idea目录中的其他所有内容)

new file:   .idea/.name
new file:   .idea/encodings.xml
new file:   .idea/framework.iml
...

医生: 如何在版本控制系统下管理项目

以下是你需要分享的:

下面的所有文件。Idea 目录 在项目根目录 除了中存储用户特定设置的 XmlTasks.xml文件

所有可以位于不同模块目录中的. iml 模块文件(适用于 IntelliJIDEA)

所以基本上,提交除 workspace.xmltasks.xml之外的所有内容。

参考 GitHub 的 JetBrains.gitignore文件,总是有一个更新的列表,列出了要忽略的文件。

IntelliJ 现在在 .idea文件夹中创建自己的 .gitignore文件,这样您就可以安全地将其添加到存储库中。