什么是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
确实是默认行为。另一方面,在获取时。。。