【问题标题】:Do I need to commit .groovy and .settings folders to repository我是否需要将 .groovy 和 .settings 文件夹提交到存储库
【发布时间】:2012-08-09 13:29:06
【问题描述】:

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

【问题讨论】:

    标签: eclipse svn grails groovy grails-2.0


    【解决方案1】:

    更新

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

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

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

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


    原答案:

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

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

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

    【讨论】:

    • 我会说这是一个strong不。提交这些只会增加混乱而没有任何价值。
    • 请看我的回答。我不同意。
    【解决方案2】:

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

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

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

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

    【讨论】:

      【解决方案3】:

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

      有一个我见过的问题列表

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

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

      【讨论】:

        猜你喜欢
        • 2011-06-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-20
        • 1970-01-01
        • 2022-10-23
        相关资源
        最近更新 更多