我们的团队刚刚从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目录吗?
答案 0 :(得分:95)
我们有一个FAQ article来解决这个问题。
默认情况下,所有最新的IDE版本都使用[.idea]格式。 以下是您需要分享的内容:
- 项目根目录中 .idea 目录下的所有文件, workspace.xml 和 tasks.xml 存储用户特定设置的文件
- 可以位于不同模块目录中的所有 .iml 模块文件(适用于IntelliJ IDEA)
小心关于分享以下内容:
- 产生签名版本(将包含密钥库密码)
的Android工件- 在IDEA 13及更早版本的 dataSources.ids 中, datasources.xml 可以包含数据库密码。 IDEA 14 solves this problem。
您可以考虑不要分享以下内容:
基于 Gradle 或 Maven 项目的
- .iml 文件,因为这些文件将在导入时生成
- gradle.xml 文件,see this discussion
- 用户词典文件夹(以避免在其他开发者具有相同名称时发生冲突)
- .idea / libraries 下的XML文件,以防从Gradle或Maven生成项目
.idea
目录是旧.ipr(Idea Project)文件的替代品,如果您想在用户之间共享项目,则需要共享.idea文件夹(常见问题解答中提及的例外情况)以及所有.iml文件。
答案 1 :(得分:39)
请参阅Github的JetBrains.gitignore文件,以获取要忽略的文件的更新列表。
答案 2 :(得分:5)
您可能会发现这篇文章很有趣:Merges on IntelliJ IDEA .IPR and .IWS files
似乎可以得出结论,您应该添加除workspace.xml
,dataSources.xml
,sqlDataSources.xml
和dynamic.xml
之外的所有文件。答案的重点是让文件不会因打开编辑器或进行特定的更改而改变。
答案 3 :(得分:5)
不是问题的确切答案,但有可用的样本.gitignore文件here,包括一个包含Intellij的JetBrains。
答案 4 :(得分: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
...
以下是您需要分享的内容:
项目根目录中.idea目录下的所有文件 workspace.xml 和 tasks.xml 存储用户特定设置的文件
所有可以位于不同模块目录中的.iml模块文件(适用于IntelliJ IDEA)
基本上,提交除workspace.xml
和tasks.xml
之外的所有内容。
答案 5 :(得分:0)
是的,我相信。您可以检查SVN配置以查看被忽略的内容,并添加您认为应该忽略的任何内容。