是否应将.gradle文件夹添加到版本控制?

时间:2013-06-19 20:36:38

标签: version-control gradle

Gradle会创建一个名为.gradle的文件夹。我应该使用我的版本控制(即git)跟踪它吗?

更重要的是,为什么/为什么不呢?

5 个答案:

答案 0 :(得分:101)

我应该跟踪.gradle目录吗?

没有。它可以安全地被忽略。


我为什么要忽略它?

这纯粹是为了缓存信息,你不希望它在你的回购中,因为:

  • 它可以变大并且充满了二进制文件
  • 那里可以有机器特定的数据
  • 那里有很多流失(你会经常对那里的文件进行更改)
  • 无论何时需要,都可以完全重新生成

它基本上是Gradle在源代码中间放置的临时目录(为什么Gradle认为这是一个合适的事情是另一个问题)。

您可以通过开关的名称来告诉目录的“缓存目录”性质,它可以让您更改它的位置:“--project-cache-dir”。

虽然我讨厌在我的源代码树中使用二进制文件,但我通常只是将目录添加到我的忽略文件中,因为在某个地方,我会忘记使用某些命令行或我的IDE或其他东西的切换。然后最终不得不处理该目录。


如何忽略它?

Git用户可以在.gitgnore文件中添加仅.gradle的行,Git将忽略具有该名称的任何目录中的所有文件。

Mercurial用户想要查找.hgignore文件。

对于其他版本控制系统,请参阅文档 - 它们都具有支持此功能的功能。

答案 1 :(得分:12)

.gradle文件夹包含有关您的gradle构建的不同计算信息(例如缓存的输出/输入信息)。您绝对不应该将该文件夹检入您的版本控制系统。

答案 2 :(得分:3)

您无需保留.gradle文件夹。

因为再次执行gradle build命令后,您可以再次创建几乎相同的.gradle文件夹。

但是当您使用.gradle下的gradle.setting文件时,您可能需要将其移动到项目的根文件夹中。

答案 3 :(得分:0)

当我们启动gradle时,它会在您的主目录中创建.gradle文件夹。它由本机(有关您的系统的信息)和缓存组成。缓存还包括插件和所有其他jar依赖项。

当我们第一次构建项目时,它会下载依赖项和插件并在此处填写它们。下次当我们需要它时,它就从这里开始。即使我们在eclipse中需要它们来编译代码(=> gradle eclipse),它的依赖关系也会从缓存中添加

因为它会在您运行gradle时不断更新和添加。所以我想我们不会将它添加到版本控制中。

答案 4 :(得分:0)

我是Gradle的新手,并认为.gradle文件夹将包含通用信息,例如依赖关系映射等,并将其上传到版本控制中。然后我尝试使用版本控制中的代码(包括.gradle文件夹)设置具有不同操作系统风格和Java版本的新机器并遇到错误。原来,.gradle文件夹包含机器特定信息,用于在本地缓存。 不要在版本控制中包含.gradle文件夹,并尝试使用代码设置新机器,gradle守护程序将完成剩下的工作。