什么忽略了 gradle 包装器?

What's ignoring the gradle wrapper?

设置

新的 intellij 安装,新的 sourcetree 安装,新的 android 项目,.gitignore 已经初始化为:

*.iml
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
/captures

问题

gradle 包装器中的文件,即 gradle/wrapper/gradle.propertiesgradle/wrapper/gradle.jar 将被忽略。而他们 should be added.

$git add gradle/wrapper/gradle-wrapper.jar 
The following paths are ignored by one of your .gitignore files:
gradle/wrapper/gradle-wrapper.jar

它没有告诉我哪个 .gitignore 文件。

gradle/gradle/wrapper中没有.gitignore

虽然我可以强制这样做,但我不想在以后的项目中忘记。

这听起来像是一个全局忽略文件使这里的工作变得混乱。您可以使用 git check-ignore --verbose gradle/wrapper/gradle-wrapper.jar 来准确查看哪个文件的模式决定了 git 的忽略行为。 (Docs on git check-ignore)

我认为这里最好的实际解决方案是确保不忽略此特定文件,无论全局忽略文件或忽略 .jar 文件的广泛规则如何。

为此,您可以将 !/gradle/wrapper/gradle-wrapper.jar 添加到存储库 .gitignore 文件的末尾。 (请参阅 docs on .gitignore 底部 .gitignore 文件模式匹配和排除的细节)