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

标签 java eclipse git intellij-idea gitignore

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

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

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

最佳答案

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

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

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

如果你使用 gradle,你可以看看 minecraft forge 是如何做到的。 它有用于 eclipse 和 idea 的设置脚本,所以所有适当的库都被加载,运行时也为相关的 IDE 配置

关于java - 推送到存储库时忽略 .classpath 和 .project(或 .iml)是一种好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48516590/

相关文章:

java - 如何绕过java泛型类型检查

c - 尝试运行 C 代码时 Eclipse 错误

java - Eclipse 中的 Lambda 类型不匹配

linux - Gitolite 和非裸仓库?

git - 让 Git 与代理服务器一起工作 - 失败并显示 "Request timed out"

java - 在 Java 中创建 MouseEvent 对象的位置

java - 将 ConfigurationProperties 绑定(bind)到 <Enum,Pojo> 的映射

java - 如何在 Spring Boot 中实现刷新 token

java - 添加计时器并设置大小到 viewpager

git - 如何压缩一个分支中的提交?