114

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

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

4

5 回答 5

124

我应该跟踪 .gradle 目录吗?

不,可以放心地忽略它。


我为什么要忽略它?

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

  • 它可以变大并且充满二进制文件
  • 那里可能有机器特定的数据
  • 那里有很多流失(您会不断地对那里的文件进行更改)
  • 无论如何,其中的所有内容都可以在需要时完全重新生成

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

您可以通过可让您更改其所在位置的开关的名称来判断目录的“缓存目录”性质:“ --project-cache-dir ”。

虽然我讨厌在我的源代码树中有二进制文件,但我通常只是将目录添加到我的忽略文件中,因为在某处我会忘记从某个命令行或我的 IDE 或其他东西使用开关,然后结束无论如何都必须处理目录。


我该如何忽略它?

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

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

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

于 2013-06-21T23:41:19.870 回答
14

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

于 2013-06-19T21:38:31.720 回答
3

您不需要保留 .gradle 文件夹。

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

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

于 2015-09-20T14:34:21.440 回答
3

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

于 2017-09-11T17:22:52.007 回答
0

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

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

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

于 2016-01-19T11:25:25.670 回答