我是否需要将 .groovy 和 .settings 文件夹提交到存储库



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

更新

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

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

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

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


原答案:

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

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

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

我不同意@FGreg的答案。 .settings 文件夹包含项目特定的设置。 这包括自定义编译器设置、错误和警告级别、格式首选项、保存操作等。 通常,最好在开发人员之间共享这些首选项。 如果未共享这些设置,则可能会出现格式不一致和编译器问题。

通常,如果您希望为任何团队提供一致的开发环境,则需要将设置文件夹包含在版本控制中。

Groovy-Eclipse 内部的 .groovy 文件夹用于特定于项目的 DSL 信息和推理建议。 通常,如果您有特定于项目的推理信息,则需要与同一项目中的其他人共享此信息。

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

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

有一份我见过的问题清单

  • 您的项目可能是特定于 IDE 的。
  • 您将在开发和集成之间产生差异。稍后您将检测到问题。
  • IDE
  • 的配置文件取决于 IDE 版本和已安装的插件。
  • 人们犯错误(这就是我们进行源代码管理的原因)某些文件将使用错误的配置提交。
如果您选择提交此文件,

请记住,您必须执行一些手动的额外工作以确保提交正确的文件。但是,如果您正确配置了构建工具,则只需执行一次工作。;)

最新更新