Intellij Idea 9/10,要检查(或不检查)源代码管理的文件夹是什么?


119

我们的团队刚刚从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通常会忽略整个目录吗?

Answers:


104

我们有一个有关此问题的常见问题解答文章

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

  • 所有下的文件.idea在项目的根目录以外workspace.xmltasks.xml文件用于存储用户的特定设置
  • 可以位于不同模块目录中的所有.iml模块文件(适用于IntelliJ IDEA)

分享以下内容时要小心

  • 生成签名版本的 Android工件(将包含密钥库密码)
  • 在IDEA 13和更早版本的dataSources.ids中datasources.xml可以包含数据库密码。IDEA 14 解决了这个问题

您可以考虑不共享以下内容:

  • 基于GradleMaven的项目的.iml文件,因为这些文件将在导入时生成
  • gradle.xml文件,请参阅此讨论
  • 用户词典文件夹(如果其他开发者具有相同的名称,则避免冲突)
  • .idea / libraries下的XML文件(如果它们是从Gradle或Maven项目生成的)

.idea 目录代替了旧的.ipr(Idea项目)文件,如果要在用户之间共享项目,则需要共享.idea文件夹(常见问题中提到的例外)和所有.iml文件。


2
是的,它是最新的,项目文件中没有重大更改。
CrazyCoder 2012年

72
@CrazyCoder(+1)如果你们将特定于项目的文件和特定于用户的文件放在单独的目录中,将会使我们的生活更加轻松。
IJ肯尼迪

3
评论旧线程,但是FAQ的共享整个.idea文件夹(workspace.xml和task.xml除外)的方法存在问题,因为各种文件在计算机之间和会话之间都会变化。真正困扰我的是:Mac上的Python / Library在不同Mac上的两个不同位置,因此pycharm.xml会反复出现。
马修·康奈尔

29
这是常见问题解答的可怜借口。这是人们问问题的大话题。一个项目的.gitignore示例如何?
Jeffrey Blattman

12
这真是令人难以置信/不可能,在同一文件夹中会出现“有些是,有些没有” ---四年后这仍然是同样的疯狂吗?谢谢
Fattie 2014年




4

我正在使用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
...

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

这是您需要分享的内容:

所有.idea目录下的文件在项目的根workspace.xmltasks.xml文件用于存储用户的特定设置

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

因此,基本上,提交除workspace.xml和以外的所有内容tasks.xml


0

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.