intellij-idea IntelliJ IDEA 9/10,签入(或不签入)源代码管理的文件夹是什么?

z5btuh9x  于 2022-11-01  发布在  IntelliJ IDEA
关注(0)|答案(7)|浏览(210)

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

camsedfj

camsedfj1#

我们有一个FAQ article来回答这个问题。
[The默认情况下,所有最新的IDE版本都使用.idea]格式。以下是您需要分享的内容:

  • 项目根.idea目录下的所有文件,除外workspace.xmltasks.xml文件,这些文件存储用户特定的设置
  • 可以位于不同模块目录中的所有**.iml**模块文件(适用于IntelliJ IDEA)
    请小心共享以下内容:
  • 生成已签名构建的Android构件(将包含密钥库密码)
  • 在IDEA 13和更早的dataSources.ids中,datasources.xml可以包含数据库密码。IDEA 14解决了这个问题。

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

  • 基于GradleMaven的项目的**.iml**文件,因为这些文件将在导入时生成
    *gradle.xml文件,see this discussion
  • userdictionals文件夹(如果其他开发人员具有相同的名称,则避免冲突)
    *.idea/libraries下的XML文件(如果它们从Gradle或Maven项目生成)

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

nhhxz33t

nhhxz33t2#

请参考GitHub的JetBrains.gitignore文件,以始终更新要忽略的文件列表。

wf82jlnq

wf82jlnq3#

虽然不是这个问题的确切答案,但是有一些示例.gitignore文件here,包括一个用于JetBrains的文件,其中包含IntelliJ。

nafvub8i

nafvub8i4#

你可能会发现这篇文章很有趣:Merges on IntelliJ IDEA .IPR and .IWS files
它似乎得出结论,您应该添加除以下文件之外的所有文件:workspace.xmldataSources.xmlsqlDataSources.xmldynamic.xml。答案是集中在文件不会因为打开编辑器或进行特定于ide的更改而发生更改。

wqlqzqxt

wqlqzqxt5#

我用的是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
...

文件:How to manage projects under Version Control Systems

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

项目根中.idea目录下的所有文件,但存储用户特定设置的workspace.xmltasks.xml文件除外

可以位于不同模块目录中的所有.iml模块文件(适用于IntelliJ IDEA)
因此,基本上,提交除workspace.xmltasks.xml之外的所有内容。

aamkag61

aamkag616#

是的,我相信是这样的。你可以检查SVN的配置,看看哪些被忽略了,并添加任何你认为应该被忽略的东西。

cmssoen2

cmssoen27#

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

相关问题