版本控制 JetBrains .idea 文件的最新最佳实践是什么?
What is the most up-to-date best practice for version controlling JetBrains .idea files?
这适用于他们的所有产品(IntelliJ、PyCharm、Clion 等)
他们经常更改配置文件,以至于大多数 .gitignore
文件不再是最新的。
我目前忽略了整个 .idea
目录,但我认为对某些内容进行版本控制仍然有意义,这些内容应该在不同机器和从事同一项目的不同人员之间保持一致。
理想情况下,我希望至少保留与代码风格和项目结构相关的文件。有什么建议吗?
通常,您希望从版本控制中排除任何特定于编辑器的文件。原因是一般来说,不同的人会使用不同的编辑器,并且维护一组配置文件,每个编辑器一个,这是灾难的根源。
只有当您确定每个人都将使用相同的编辑器(例如,由于公司授权)时,您才应该检查其中的任何一个。但是,没有一个非常令人信服的理由是,开发人员应该可以在项目中自由使用他们选择的编辑器,因此以上内容适用。
但是,您应该包括交叉编辑器的配置文件,例如EditorConfig files(这些程序应该本地支持)、构建文件和 linter 或代码格式化程序文件。通常,这些配置文件将适用于使用任何编辑器的人,对于 linter 和代码格式化程序文件,可以是 运行 in CI 以验证代码是否正确格式化或 linted。
这适用于他们的所有产品(IntelliJ、PyCharm、Clion 等)
他们经常更改配置文件,以至于大多数 .gitignore
文件不再是最新的。
我目前忽略了整个 .idea
目录,但我认为对某些内容进行版本控制仍然有意义,这些内容应该在不同机器和从事同一项目的不同人员之间保持一致。
理想情况下,我希望至少保留与代码风格和项目结构相关的文件。有什么建议吗?
通常,您希望从版本控制中排除任何特定于编辑器的文件。原因是一般来说,不同的人会使用不同的编辑器,并且维护一组配置文件,每个编辑器一个,这是灾难的根源。
只有当您确定每个人都将使用相同的编辑器(例如,由于公司授权)时,您才应该检查其中的任何一个。但是,没有一个非常令人信服的理由是,开发人员应该可以在项目中自由使用他们选择的编辑器,因此以上内容适用。
但是,您应该包括交叉编辑器的配置文件,例如EditorConfig files(这些程序应该本地支持)、构建文件和 linter 或代码格式化程序文件。通常,这些配置文件将适用于使用任何编辑器的人,对于 linter 和代码格式化程序文件,可以是 运行 in CI 以验证代码是否正确格式化或 linted。