You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求可验证递归子模块存在及正确检出的Git命令

验证递归子模块状态的Git命令

可以使用git submodule status --recursive命令直接验证所有递归子模块的状态,无需复杂的输出解析:

  • 如果所有子模块都已正确初始化并检出父仓库指定的提交,命令输出的每一行开头都不会有特殊符号(如-、+或U)
  • 若存在未初始化的子模块,对应行开头会有-
  • 若子模块检出的提交与父仓库记录不匹配,开头会有+
  • 若子模块存在冲突,开头会有U

如果需要在CI脚本中自动化验证状态是否正常,可以结合简单的过滤命令快速判断:

if git submodule status --recursive | grep -qE '^[-+U]'; then
    echo "存在异常的递归子模块"
    exit 1
else
    echo "所有递归子模块状态正常"
    exit 0
fi

如果需要先修复可能的子模块问题再验证,可使用以下组合命令:

# 同步所有递归子模块的远程地址
git submodule sync --recursive
# 递归初始化并拉取到父仓库指定的提交版本
git submodule update --init --recursive --checkout
# 再次验证状态
git submodule status --recursive

内容的提问来源于stack exchange,提问作者Timmmm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 12:12:02