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

在检出Git标签前更新子模块是否有负面影响?命令顺序该如何选择?

Git检出标签与子模块更新的正确顺序

必须先检出目标标签,再执行子模块更新。

原因很直接:每个Git标签对应项目的一个完整历史快照,其中已经包含了该版本下所有子模块的指定引用(比如对应的提交哈希)。如果先更新子模块,会基于仓库默认分支的子模块配置拉取最新内容,之后再切换到旧标签,子模块的状态会和标签版本不匹配,还得额外调整。

正确的操作步骤如下:

git clone <some_repo>
cd <repo_dir>
git checkout tags/tag_001
git submodule update --init

要是已经按错误顺序操作了,可以先执行git submodule deinit -f .清空当前子模块状态,再重新走上面的正确流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 17:02:01