我在PyCharm中了解了Git集成,并从PyCharm创建了一个Git仓库。我这样做是因为我希望PyCharm知道是否应忽略.idea
文件夹,如果是这样的话,它会自动在其中创建一份包含.idea/
的.gitignore
文件。
但它没有这样做,所以我假设我不应该忽略.idea
文件夹。然而,我进行了快速搜索并找到了某人的.gitignore
示例文件,在这里,它明确地忽略了.idea
文件夹。
所以,我的问题是,是否应忽略.idea
文件夹?
忽略整个.idea文件夹并不一定是最好的选择。这里有很多类似的讨论。
但我建议查看官方FAQ以了解此事。
在.idea目录中,除了存储本地偏好设置的workspace.xml文件外,所有设置文件都应该放入版本控制。需要将workspace.xml文件标记为VCS忽略文件。
进一步解释一下,workspace.xml
包含特定于用户的工作区偏好设置,包括环境变量、最近访问的文件和光标位置等信息。
虽然分享项目设置本身并不是一个坏主意,但是有几个例外和潜在问题需要注意。
workspace.xml
文件包含各种用户特定的设置,例如环境变量、光标位置和 Python SDK 位置。
dictionaries
文件夹包含自定义拼写,如果两个开发人员具有相同的名称,则可能会导致冲突。.idea
文件夹是专门针对 PyCharm 的,这意味着使用不同 IDE 的开发人员可能会导致项目不同步。如果你决定分享 .idea
,IntelliJ 官方文档 给出了以下建议:
在IDEA 13及之前的版本中,dataSources.ids和datasources.xml文件可以包含数据库密码。IDEA 14解决了这个问题。[.idea] 格式默认由所有最近版本的 IDE 使用。以下是您需要分享的内容:
- 位于项目根目录下 .idea 目录下的所有文件,除了 存储用户特定设置的 workspace.xml 和 tasks.xml 文件。
- 可以位于不同模块目录中的所有 .iml 模块文件(适用于 IntelliJ IDEA)。
请注意不要分享以下内容:
- 生成签名版本的 Android 构件(将包含密钥库密码)。
将整个.idea/
目录包含到项目中时,我发现了一些问题。
如果您将.idea/
目录包含在Git仓库中,并在使用pycharm的其它机器
上克隆该项目,pycharm可能无法适当地识别该项目。
删除.idea/
目录后,pycharm能够正确识别该项目。
为了获得最新鲜的干净开始,请勿将 .idea
存储在版本控制中。
我做了很多年,当项目变得更加复杂时,在新的 IDE/机器上设置起来很麻烦。我很高兴学会了如何安全地处理。
基于以上建议,我打算只 .gitignore
.idea/workspace.xml
,由之前的 .idea
改为现在这样。
虽然在 PyCharm 的资源管理器中看不到它,但是 .idea
文件夹预先填充了它自己的 .gitignore
,我可以指望它与 IDE 本身一起维护。我不需要显式地 .gitignore
它的任何路径,因为它会自我维护。
以下是其内容:
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
.idea/ 文件夹只是JetBrain存储数据的方式。它在IntelliJ和PyCharm中都存在,所以可以忽略它。
workspace.xml
。有关更多详细信息,请参阅我的回答或Artem的回答。 - Stevoisiak