20

可能重复:
哪些 eclipse 文件属于版本控制

我们使用 Eclipse IDE 进行开发。.settings 文件夹中总是有变化。有时我们在 Eclipse 中配置某些东西,但通常我们在 Eclipse 中更改任何东西。

Eclipse 在没有我们要求的情况下更改了设置??

.settings 的最佳做法是什么?

我应该检查 SVN 中的 Eclipse 设置(.settings)还是添加到忽略列表?

4

7 回答 7

24

.settings目录包含(或至少应该包含)在 Eclipse 中成功构建项目所需的重要信息,例如用于源代码的字符编码、Java 编译器设置等等。如果您不将该目录提交给 SCM,则在大多数情况下,您将无法将项目签出到新的工作区并立即对其进行编译。一个特别敏感的方面是编译器错误/警告的精确配置。如果开发人员的这些设置有误,后果可能从失败的 Eclipse 构建到开发人员破坏代码以试图“修复”不存在的错误/警告。

每个插件都可以将自己的设置文件贡献给目录,因此可以随意挑选并忽略不相关的,保留重要的,例如org.eclipse.jdt.core.prefs.

您必须非常小心,不要弄乱项目特定的设置,以免破坏其他人的构建。任何个人偏好都应在工作区级别全局更改,以便此配置不会传播给队友。

从理论上讲,人们可能会强制执行一项政策,要求每个人都从另一个地方导入项目特定的设置,并且永远不要提交它们,但该路线没有任何优势,而且在易用性方面显然逊色。

于 2012-09-20T13:15:53.930 回答
12

由于您使用maven来管理您的构建,因此实际上没有必要将.settings源代码置于控制之下。

通过使用 maven,您可以在不依赖 eclipse 设置的情况下使用其他 IDE。

另请参阅如果使用 Maven,是否应该忽略 VCS 中的 Eclipse 特定文件?

于 2012-09-20T14:50:11.783 回答
2

这真的取决于你的项目。这里的这个线程应该给你足够多的信息来弄清楚你需要什么。

哪些 Eclipse 文件属于版本控制?

于 2012-09-20T13:00:19.733 回答
2

没必要,

因为不同的用户使用不同的设置和配置。

该设置可以在文本文件中描述

于 2012-09-20T13:00:54.187 回答
2

当您使用 Maven 时,我肯定会拒绝。根据我从事的项目的经验,提交这些文件会导致问题,特别是如果您与具有不同环境(OSX/Windows/*nix,文件系统布局)的人合作。

如果您还没有使用它,我建议您使用 Maven Eclipse 插件 (http://maven.apache.org/plugins/maven-eclipse-plugin/) 自动生成您的 Eclipse 项目文件。

编辑:

忘了提一下,我不喜欢提交任何 Eclipse 项目设置/文件的最大原因可能是它给我的 VCS 历史添加了混乱。我发现这些文件经常无缘无故地更改(即首选项文件时间戳更改),并且充其量会添加额外的更改,或者最坏的情况会导致烦人的冲突。

于 2012-09-21T00:56:40.813 回答
0

您可以创建最佳配置并将其放入 SVN 中,但这会带来很多麻烦。

  1. 不能保证有人会犯错设置,每个人都会受苦
  2. 每次配置更改发生时都需要更改设置。

如果有人没有任何东西,最好作为参考,然后他可以从它开始。

于 2012-09-20T13:00:55.543 回答
0

直接的答案是否定的。不是因为此文件最终是否更改,而是项目源代码存储库不适用于个人文件设置。

如果您确实需要将这些 IDE 特定文件放在某个位置,请签入与项目分开的单独 SVN 文件夹。

于 2012-09-20T13:04:35.190 回答