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

126

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

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

5个回答

140

我应该跟踪 .gradle 目录吗?

不需要。可以安全地忽略它。


为什么我应该忽略它?

它纯粹是用于缓存信息,你不想在代码库中保留它,因为:

  • 它可能会变得很大,并充满二进制文件
  • 其中可能有特定于某台计算机的数据
  • 其中的内容变化很频繁(你必须不断提交其中的文件更改)
  • 无论何时需要,其中的所有内容都可以完全重新生成

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

你可以通过开关的名称“--project-cache-dir”来确定该目录的“缓存目录”性质,从而了解该目录的性质。

虽然我不喜欢在我的源代码树中包含二进制文件,但我通常最终会将该目录添加到我的忽略文件中,因为在某个时候我会忘记使用某些命令行或IDE中的开关,然后最终还是要处理该目录。


我该如何忽略它?

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

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

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


1
全世界的iOS开发者都转向Android,谢谢! :) - Fattie

16

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


5
我之前对Gradle不太了解,认为.gradle文件夹包含通用信息,如依赖映射等,并将其上传到版本控制。然后我尝试使用来自版本控制的代码(包括.gradle文件夹)在另一台具有不同操作系统和Java版本的机器上设置新环境,但遇到了错误。原来,.gradle文件夹包含特定于计算机的信息,并用于本地缓存。 请勿将.gradle文件夹包含在版本控制中,只需使用代码在新机器上进行设置,Gradle守护程序将自动完成其余工作。

3

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

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

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


0
当我们启动 Gradle 时,它会在您的主目录中创建 .gradle 文件夹。其中包含系统信息和缓存,缓存进一步包括插件和所有其他 JAR 依赖项。
第一次构建项目时,它会在此处下载依赖项和插件,并对其进行检查。下一次需要它们时,从这里获取。即使在 Eclipse 中编译代码(=>gradle eclipse)时,其依赖项也是从缓存中添加的。
由于它会随着 Gradle 的运行而不断更新和添加,因此我认为不将其添加到版本控制中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接