5

我在本地机器上有一个 grails 应用程序,并且在 XP-DEV 中创建了一个存储库。我有文件夹.groovy.settings项目根目录。我需要将这些文件提交到版本控制中吗?我问这个问题是因为我不知道这些文件夹的用途是什么。

4

3 回答 3

10

更新

5年后的开发经验,我想我需要稍微回到我原来的观点。我仍然认为,总的来说,这些文件不应该包含在源代码管理中。

但是,有一些设置可以方便地在开发人员之间共享。问题是很难知道哪些设置可以共享,哪些不可以共享。例如,任何包含绝对路径的设置都不应共享;但是您如何知道任何给定工具的配置(例如 Eclipse、IntelliJ 等)是否包含绝对路径?

如果您使用 git 进行版本控制,github.gitignore为各种工具github/gitignore发布了大量模板。如果您想尝试共享设置,我建议使用这些模板之一。

如果这些模板不适合您,我坚持我最初的建议,即不要将这些设置签入版本控制并允许它们自动生成。然后,如果有重要的设置要共享(如代码样式模板或类似的),请提供有关如何将该设置应用于所有预期开发环境的说明。


原答案:

.settings通常由您使用的任何 IDE 创建(我知道 Eclipse 使用此约定)并包含与 IDE 相关的项目特定设置。

.groovy包含 groovy 的用户特定设置。例如,我知道 Grape 将依赖项下载到 .groovy 目录中。

我的意见是,不,不要提交这些目录。如果其他人签出您的项目,他们自己的这些目录的个人副本将自动生成。

于 2012-08-09T13:40:00.067 回答
9

我不同意@Freg 的回答。.settings 文件夹包含项目特定的设置。这包括自定义编译器设置、错误和警告级别、格式化首选项、保存操作等。一般来说,在开发人员之间共享这些首选项是个好主意。如果这些设置不共享,那么您可能会遇到格式不一致和编译器问题。

一般来说,如果您想要为任何团队提供一致的开发环境,您需要将设置文件夹包含到版本控制中。

Groovy-Eclipse 中的 .groovy 文件夹用于存放特定于项目的 DSL 信息和推理建议。通常,如果您有特定于项目的推理信息,您会希望与同一项目中的其他人共享这些信息。

在我们的团队中,我们清楚地定义了每个项目将使用的所有设置,提交 .settings 文件夹,我们确信每个开发人员都会看到相同的设置。

于 2012-08-10T04:54:02.943 回答
2

在我看来,提交 IDE 项目文件是个坏主意。如果你有特定的配置要做,你应该配置你的 maven、gradle、ant 或其他任何东西来生成正确的配置

有一个我见过的问题列表

  • 您的项目可能是特定于 IDE 的。
  • 您将在开发和集成之间存在差异。稍后您会发现问题。
  • IDE 的配置文件取决于 IDE 版本和安装的插件。
  • 人们会犯错误(这就是我们进行源代码控制的原因)某些文件会以错误的配置提交。

如果您选择提交此文件,请记住您将不得不做一些额外的手动工作以确保提交正确的文件。但是如果你正确配置你的构建工具,你只会做一次工作。;)

于 2012-08-15T12:45:34.760 回答