我在PyCharm中阅读了Git集成,并从PyCharm创建了一个Git存储库。我在PyCharm中这样做是因为我希望PyCharm知道是否应该忽略.idea文件夹,如果是这样,它会自动创建一个.gitignore文件,其中包含.idea/行。但是它没有,所以我认为我不应该忽略.idea文件夹。然而,我做了一个快速搜索,发现某人的示例.gitignore文件,here,它显然忽略了.idea文件夹。那么,我的问题是,.idea文件夹是否应该被忽略?
.idea
.gitignore
.idea/
brccelvz1#
忽略整个.idea文件夹并不一定是最好的主意。这里有很多类似的讨论。
但我建议在这个问题上检查official FAQ。
i2loujxw2#
.idea目录中的所有设置文件都应该置于版本控制之下,除了workspace.xml,它存储了您的本地首选项。workspace.xml文件应该是marked as ignored by VCS。-PyCharm 2017.3项目文档为了进一步解释,workspace.xml包含用户特定的工作区首选项,其中包括environment variables、最近访问的文件和光标位置。
workspace.xml
rjjhvcjd3#
虽然共享项目设置并不是一个坏主意,但有几个例外和潜在的问题你应该知道。
dictionaries
如果您决定共享.idea,IntelliJ's official documentation给出以下建议[The.idea]格式默认情况下被所有最新的IDE版本使用。以下是您需要分享的内容:
您可以考虑不分享以下内容:
*.iml文件,用于基于Gradle或Maven的项目,因为这些文件将在导入时生成*gradle.xml文件,see this discussion
来源:JetBrains - How to manage projects under Version Control Systems
i1icjdpr4#
我发现一些问题时,包括整个.idea/目录到项目。如果推送到包含.idea/目录的git repo,并使用pycharm在other machine上克隆该项目,pycharm无法正确识别该项目。
other machine
delete.idea/目录后,pycharm可以很好的识别项目。
wf82jlnq5#
.idea/文件夹只是JetBrain存储数据的方式。它在IntelliJ和PyCharm中,所以,是的,它可以被忽略。
sy5wg1nm6#
对于最新的干净启动,不要在版本控制中存储.idea。我做这个已经很多年了,当项目变得越来越复杂时,为一个新的IDE/机器设置是一件麻烦的事情。根据上面的建议,我将从之前的.idea降到.gitignore,只是.idea/workspace.xml。虽然它没有显示在PyCharm的资源管理器中,但.idea文件夹已预先填充了它自己的.gitignore,我可以指望它与IDE本身沿着维护。我不需要显式地.gitignore任何路径,因为它会自己处理。以下是它的内容:
.idea/workspace.xml
# Default ignored files /shelf/ /workspace.xml # Editor-based HTTP Client requests /httpRequests/ # Datasource local storage ignored files /dataSources/ /dataSources.local.xml
如果我有任何敏感的东西在那里,我仍然会仔细检查我的git提交,但我们已经这样做了,对吗?
6条答案
按热度按时间brccelvz1#
忽略整个.idea文件夹并不一定是最好的主意。这里有很多类似的讨论。
但我建议在这个问题上检查official FAQ。
i2loujxw2#
.idea目录中的所有设置文件都应该置于版本控制之下,除了workspace.xml,它存储了您的本地首选项。workspace.xml文件应该是marked as ignored by VCS。
-PyCharm 2017.3项目文档
为了进一步解释,
workspace.xml
包含用户特定的工作区首选项,其中包括environment variables、最近访问的文件和光标位置。rjjhvcjd3#
虽然共享项目设置并不是一个坏主意,但有几个例外和潜在的问题你应该知道。
workspace.xml
文件包含各种特定于用户的设置,例如环境变量、光标位置和Python SDK位置。dictionaries
文件夹包含自定义拼写,如果两个开发人员同名,则可能导致冲突。.idea
文件夹是PyCharm特定的,这意味着使用不同IDE的开发人员可能会导致项目不同步。如果您决定共享
.idea
,IntelliJ's official documentation给出以下建议[The.idea]格式默认情况下被所有最新的IDE版本使用。以下是您需要分享的内容:
请注意以下内容:
您可以考虑不分享以下内容:
*.iml文件,用于基于Gradle或Maven的项目,因为这些文件将在导入时生成
*gradle.xml文件,see this discussion
*.idea/libraries下的XML文件,如果它们是从Gradle或Maven项目生成的
来源:JetBrains - How to manage projects under Version Control Systems
i1icjdpr4#
我发现一些问题时,包括整个
.idea/
目录到项目。如果推送到包含
.idea/
目录的git repo,并使用pycharm在other machine
上克隆该项目,pycharm无法正确识别该项目。delete
.idea/
目录后,pycharm可以很好的识别项目。wf82jlnq5#
.idea/文件夹只是JetBrain存储数据的方式。它在IntelliJ和PyCharm中,所以,是的,它可以被忽略。
sy5wg1nm6#
对于最新的干净启动,不要在版本控制中存储
.idea
。我做这个已经很多年了,当项目变得越来越复杂时,为一个新的IDE/机器设置是一件麻烦的事情。
根据上面的建议,我将从之前的
.idea
降到.gitignore
,只是.idea/workspace.xml
。虽然它没有显示在PyCharm的资源管理器中,但
.idea
文件夹已预先填充了它自己的.gitignore
,我可以指望它与IDE本身沿着维护。我不需要显式地.gitignore
任何路径,因为它会自己处理。以下是它的内容:
如果我有任何敏感的东西在那里,我仍然会仔细检查我的git提交,但我们已经这样做了,对吗?