哪些IDE设置可以签入? [关闭]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了哪些IDE设置可以签入? [关闭]相关的知识,希望对你有一定的参考价值。
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?
还是一般的禁忌?
如果您使用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?。
你为什么要省略它们:
- 您希望能够在您喜欢的任何构建服务器(实际上支持它们)上使用您选择的构建工具(例如maven,gradle等)构建项目
- 您希望能够使用任何IDE加载项目(IDE项目设置中没有怪癖以使其以某种方式工作)
为什么要提交它们:
- 所有在项目中使用相同的IDE(也许还有:都具有相同的目录结构;注意:我永远不会强迫任何人使用特定的IDE或固定的目录结构,所以我实际上不喜欢这个特定点;-) )
- 或者(可能更有效):您是唯一一个使用该项目并希望(重新)快速/平稳地设置所有内容的人
关于IDE设置,例如格式设置等,类似的东西适用。只要所有使用相同的IDE共享都有意义。如果你使用不同的,你可能需要使用你的版本控制工具来实际格式化代码(格式化提交钩子,格式化比较不同的修订版本等)或者每个人都应该同意一个共同的格式化程序。
关于像m2e-lifecycle这样的构建文件中的IDE特定设置:......这实际上取决于。我宁愿尝试使用实际工作的插件配置,而无需额外的m2e-lifecycle-boilerplate。最后它不会使构建文件更具可读性;-)
总结(我的意见;-))我只在项目上单独工作时提交IDE特定文件,在任何其他情况下,我省略了像队友一样提交它们。如果他们是在一个项目中提交的,我通常不会重复使用它(或者只通过插件使用格式化程序),因为我主要是在另一个IDE上。
以上是关于哪些IDE设置可以签入? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章