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

Gradle创build一个名为.gradle的文件夹。 我应该跟踪我的版本控制(即混帐)?

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

我应该跟踪.gradle目录吗?

没有。

你可以而且应该忽略它。


为什么我应该忽略它?

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

  • 它可以变得很大,并充满了二进制文件
  • 那里可以有机器特定的数据
  • 那里有很多stream失(你会不断地对文件进行修改)
  • 无论如何,无论何时何地都可以完全重新生成一切

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

您可以通过交换机的名称来告诉目录的“caching目录”性质,以便更改它的位置:“– project-cache-dir ”。

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


我如何忽略它?

如果使用Git,你可以添加一个只有.gradle的行到.gitgnore文件,Git会忽略该目录中的所有文件。

对于Mercurial,您需要.hgignore文件。

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

.gradle文件夹包含有关您的gradle构build的不同计算信息(例如caching的输出/input信息)。 你绝对不应该检查该文件夹到你的版本控制系统。

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

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

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

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

当我们第一次构build这个项目的时候,它会下载依赖和插件,并在这里引用它们。 下一次当我们需要它时,它会从这里开始。 即使我们在eclipse中需要它们来编译代码(=> gradle eclipse),它的依赖关系也是从caching中添加的

因为在你运行gradle的时候它会不断更新和添加。 所以我想我们不会把它添加到版本控制。

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