哪些IDE设置可以签入? [关闭]

问题描述 投票:1回答:2

IDE为每个项目/工作区生成一些配置文件

IntelliJ有它的.idea/文件夹,它是.iml文件。

Eclipse有它的.classpath.project文件。 Eclipse Maven集成过去需要在pom.xml中进行m2e-lifecycle配置(不确定是否仍然如此)

我以前见过的项目,

  • Eclipse工件(.classpath,.project)已存储在SVN中,它通常会破坏每个开发人员的工作区。
  • 即使是m2e生命周期配置也被禁止
  • 允许m2e-lifecycle配置但不允许.classpath或.project
  • 检查.idea/文件夹的子集,因为它包含运行配置
  • 通常.gitignore文件包含IDE特定文件。

我倾向于将所有IDE工件从源代码中删除,包括配置,除了.gitignore中的IDE工件列表。

但我想知道,有什么理由支持/反对入住

  • IDE生成的工件(如.classpath或* .iml)
  • IDE特定配置(即在maven poms中)

进入SCM?

还是一般的禁忌?

eclipse intellij-idea version-control ide
2个回答
3
投票

如果您使用Maven / Gradle / SBT,则无需提交* .iml文件,因为它们是从Maven / Gradle / SBT重新生成的。这些构建系统也会自动生成工件,因此除非您创建自己的IDE工件,否则不应提交工件配置。

另见How to manage projects under Version Control Systems

另见类似的问题:Which files in .idea folder should be tracked by Git?


2
投票

你为什么要省略它们:

  • 您希望能够在您喜欢的任何构建服务器(实际上支持它们)上使用您选择的构建工具(例如maven,gradle等)构建项目
  • 您希望能够使用任何IDE加载项目(IDE项目设置中没有怪癖以使其以某种方式工作)

为什么要提交它们:

  • 所有在项目中使用相同的IDE(也许还有:都具有相同的目录结构;注意:我永远不会强迫任何人使用特定的IDE或固定的目录结构,所以我实际上不喜欢这个特定点;-) )
  • 或者(可能更有效):您是唯一一个使用该项目并希望(重新)快速/平稳地设置所有内容的人

关于IDE设置,例如格式设置等,类似的东西适用。只要所有使用相同的IDE共享都有意义。如果你使用不同的,你可能需要使用你的版本控制工具来实际格式化代码(格式化提交钩子,格式化比较不同的修订版本等)或者每个人都应该同意一个共同的格式化程序。

关于像m2e-lifecycle这样的构建文件中的IDE特定设置:......这实际上取决于。我宁愿尝试使用实际工作的插件配置,而无需额外的m2e-lifecycle-boilerplate。最后它不会使构建文件更具可读性;-)

总结(我的意见;-))我只在项目上单独工作时提交IDE特定文件,在任何其他情况下,我省略了像队友一样提交它们。如果他们是在一个项目中提交的,我通常不会重复使用它(或者只通过插件使用格式化程序),因为我主要是在另一个IDE上。

© www.soinside.com 2019 - 2024. All rights reserved.