什么是git-push';当push.recurseSubmodules未设置时,子模块的默认行为是什么?

什么是git-push';当push.recurseSubmodules未设置时,子模块的默认行为是什么?,git,Git,当子模块存在时,git-push的四个选项(使用--recurse submodules)非常清楚: 检查:确保父模块所需的子模块提交已推送;如果没有,则中止推送 on-demand:在推送父提交之前推送所有需要的子模块提交(如果任何提交失败,则失败) 仅:仅推送子模块;不要推家长 否(或--无递归子模块):不要推送子模块 但什么是默认值?如果不存在--recurse子模块选项,不存在--no recurse子模块选项,并且未设置推送.recurseSubmodules配置值,会发生什么情况

当子模块存在时,
git-push
的四个选项(使用
--recurse submodules
)非常清楚:

  • 检查
    :确保父模块所需的子模块提交已推送;如果没有,则中止推送
  • on-demand
    :在推送父提交之前推送所有需要的子模块提交(如果任何提交失败,则失败)
  • :仅推送子模块;不要推家长
  • (或
    --无递归子模块
    ):不要推送子模块
但什么是默认值?如果不存在
--recurse子模块
选项,不存在
--no recurse子模块
选项,并且未设置
推送.recurseSubmodules
配置值,会发生什么情况?所有Git版本都一样吗

附录

文档中包含一个提示,默认值为

当不需要子模块递归时,可以使用no或use--no recurse submodules值覆盖push.recurseSubmodules配置变量。(增加重点)

因此,如果仅当设置了
push.recurseSubmodules
时才需要
no
选项,这意味着当
push.recurseSubmodules
未设置时,
no
是默认行为。是吗?

我在“”中提到:

push.recurseSubmodules
设置为
no
时,将保留在推送时忽略子模块的默认行为


这表明
no
确实是默认行为。

另一方面,在获取时。。。