当 运行 一个子模块更新时,为什么不总是使用 --init?

When running a submodule update, why not always use --init?

我正在从事一个 grails 项目,我已经离开几个月了,但它未能 运行 并出现以下错误

Project : declares a dependency from configuration 'compile' to configuration 'default' which is not declared in the descriptor for project :project-plugin-a.

花了一些时间后,我意识到子模块目录是空的,因为当我进行更新时,我从未包含 init 标签来设置新的子模块。我查看了子模块更新的文档,--init 标签有以下内容:

--init This option is only valid for the update command. Initialize all submodules for which "git submodule init" has not been called so far before updating.

为了为从事这些项目的其他人创建无忧无虑的文档,有什么理由不建议始终使用 --init 标签?

由 Torek 在上面的评论中提供:

In a previous job, we stuck the --init in to some automated stuff and never had any problems with it. The only reason to avoid it that I know of would be if you don't want the submodule checked out automatically

如果没有新的子模块,文档和经验的初始化似乎可以安全地跳过任何额外的处理和功能,因为没有标志,但是会拉出新的子模块,所以每次都可以使用。