Pycharm 问我是否要将 .idea\vcs.xml 添加到 Git

Pycharm asks me if I want to add .idea\vcs.xml to Git

在使用 Pycharm 时,突然弹出一个窗口,询问我是否要将此文件添加到 Git,并指出如果需要,我可以稍后手动添加。这是什么文件,为什么要给我这个建议?

项目的所有项目特定设置都存储在 .idea 文件夹下。

在工作时,创建了一个新文件 (vcs.xml),因此您可以选择将其添加到 Git。 .idea/里面的文件一般不要到Git,一般最好加到.gitignore文件里。

JetBrains 提供了很好的 official description 文件可以放入 git。

因此,在您的 .gitignore 中,您可能会忽略以 .iws 结尾的文件,以及 workspace.xmltasks.xml 文件。 Here 您可以找到一个非常好的 git 忽略 JetBrains IDE 文件的示例。

如果您 gitignore .idea 文件夹,那么其他人将 不能 能够访问项目特定设置,例如 运行 配置、环境变量、构建设置、等等,以及其他杂项添加,如项目特定词典。

vcs.xml 添加到您的项目中,不要完全忽略 .idea。事实上,Jetbrains 建议忽略一些文件(如下所列),同时仍将其余文件添加到存储库中。

将此 .gitignore 用于所有基于 Jetbrains 的产品:IntelliJ、RubyMine、PhpStorm、AppCode、PyCharm、CLion、Android Studio 和 WebStorm

以防万一 link 由于任何原因变得无效,我将其直接粘贴到此处

# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf

# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml

# Gradle
.idea/**/gradle.xml
.idea/**/libraries

# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn.  Uncomment if using
# auto-import.
# .idea/modules.xml
# .idea/*.iml
# .idea/modules

# CMake
cmake-build-*/

# Mongo Explorer plugin
.idea/**/mongoSettings.xml

# File-based project format
*.iws

# IntelliJ
out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Cursive Clojure plugin
.idea/replstate.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties

# Editor-based Rest Client
.idea/httpRequests

详情请参考Jetbrains Support Article

解决方案根目录中的 .idea 文件夹(隐藏在 OS X 上)包含 IntelliJ 的项目特定设置文件。这些包括每个项目的详细信息,例如 VCS 映射和 运行 和调试配置,以及每个用户的详细信息,例如当前打开的文件、导航历史记录和当前选择的配置。

有些文件应该提交给源代码管理,有些应该排除。通常,需要分享以下内容:

indexLayout.xml - 此文件用于提供有关附加到解决方案的外部文件夹的信息,这些文件夹不是 .NET 项目的一部分。可以通过右键单击解决方案 -> “附加现有文件夹...”来添加此类文件夹。

vcs.xml - 此文件用于 VCS 相关的内部信息,如启用了哪个 VCS 等

运行配置 - 此文件夹用于共享 运行 配置。

.idea 文件夹中的其他文件可以安全地从 VCS 中排除(例如 modules.xml 和 riderModule.iml),因为 Rider 可以再次生成它们。

根据 JetBrains,可以安全地排除以下文件:https://github.com/github/gitignore/blob/master/Global/JetBrains.gitignore