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

Is it good practice to ignore .classpath and .project (or .iml) when pushing to a repository?

我正在与其他一组学生一起完成本学期的期末 Java 项目,我们希望使用 git 存储库来结合我们的努力。

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

此处的最佳做法是什么?忽略 .iml 和 .classpath/.project 或提交它们?

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

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

设置一个 IDE 来使用它并不需要太多努力。 在您的项目中包含最常用编辑器的快速设置手册作为快速参考 sheet。

如果你用gradle你可以看看minecraft forge是怎么做的。 它有用于 eclipse 和 idea 的设置脚本,所以所有正确的库都被加载并且 运行times 被配置为相关的 IDE's