使用PyCharm和Git时,我应该忽略.idea文件夹吗?

Ray*_*Ray 39 python git pycharm

我在PyCharm中阅读了Git集成,并从PyCharm创建了一个Git存储库.我在PyCharm中这样做是因为我希望PyCharm知道.idea文件夹是否应该被忽略,如果是这样的话,它会自动创建一个.gitignore带有该行的文件.idea/.

但它没有,所以我认为我不应该忽视这个.idea问题.但是,我做了一个快速搜索,发现某人的示例.gitignore文件,这里显然忽略了该.idea文件夹.

所以,我的问题是,.idea文件夹是否应该被忽略?

小智 26

忽略整个.idea文件夹不一定是最好的主意.这里有很多类似的讨论.

但我建议查看有关此事的官方常见问题解答.

  • 这不是一个好的答案。首先,您提供的所有内容都是链接(将来可能会中断)。其次,它把工作交给了读者,而不是实际作为 SO 的答案响应精神的答案。 (7认同)

Art*_*sev 26

除了存储本地首选项的workspace.xml之外,.idea目录中的所有设置文件都应置于版本控制之下.workspace.xml文件应该被VCS标记为忽略.

- PyCharm 2017.3项目文档

要进一步说明,请workspace.xml包含用户特定的工作区首选项.这包括环境变量,最近访问的文件和光标位置.


Ste*_*ica 10

在共享您的项目设置是不是天生一个坏主意,有几个例外,你应该知道的潜在问题。

  • workspace.xml文件包含各种特定于用户的设置,例如环境变量、光标位置和 Python SDK 位置。
    • 环境变量可能包括私有数据,例如用户名和密码
  • dictionaries文件夹包含自定义拼写,如果两个开发人员具有相同的名称,则可能会导致冲突。
  • .idea文件夹是 PyCharm 特定的,这意味着使用不同 IDE 的开发人员可能会导致项目不同步。
  • IntelliJ 自己的文档包含一些针对不应共享的特定文件的警告。

如果你决定的份额.idea的IntelliJ的官方文档给出了以下建议

[.idea] 格式被所有最近的 IDE 版本默认使用。以下是您需要分享的内容:

  • 项目根目录下.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项目生成的

来源:JetBrains - 如何在版本控制系统下管理项目

  • 我相信如果您使用 Jetbrains 的 gitingore 文件,大多数问题都会得到解决。https://github.com/github/gitignore/blob/master/Global/JetBrains.gitignore (3认同)