在推送到存储库时忽略.classpath和.project(或.iml)是一种好习惯吗?

JoL*_*JoL 3 java eclipse git intellij-idea gitignore

我正在与一组其他学生一起研究该学期的最终Java项目,我们希望使用git存储库来结合我们的努力.

由于没有标准使用哪个IDE,因此我们的存储库中有.iml以及.project和.classpath.在我看来,当克隆到新机器上时,这会增加项目的可导入性,但我确信必须有某种冲突等待发生.

这里的最佳做法是什么?忽略.iml和.classpath/.project还是提交它们?

Tsc*_*cka 5

我建议忽略.iml和.settings以及与代码编辑器或编译器相关的所有内容.让设置尽可能具有暧昧性,以便人们可以在他们想要的任何IDE中以他们想要的任何格式编辑它.

例如,使用eclipse .settings,如果路径不同,将会出现意外的副作用,未找到项目的消息等等.因为eclipse倾向于硬编码项目的路径.所以/ users/john/desktop/project /不会为/ users/fred/desktop/project运行.

设置IDE来使用它并不是一件容易的事.在项目中包含最常用编辑器的快速设置手册作为快速参考表.

如果你使用gradle,你可以看一下minecraft forge是如何做到的.它有eclipse和idea的设置脚本,所以加载了所有正确的库,并为相关的IDE配置了运行时.