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

Git如何将所有子模块同步到特定提交,适配code子模块指定版本?

Git子模块版本同步操作指南

针对你的仓库结构,要切换code子模块到特定提交并同步所有适配子模块,按以下步骤操作:

1. 切换code子模块到目标提交

  • 进入项目根目录:cd project
  • 直接切换code到指定提交(替换<TARGET_COMMIT>为目标提交哈希或标签):
    cd code
    git checkout <TARGET_COMMIT>
    cd ..
    

2. 找到父仓库中适配该code版本的提交

父仓库会跟踪所有子模块的对应提交哈希,你需要找到父仓库里**code子模块指向<TARGET_COMMIT>**的历史提交,该提交记录了所有适配当前code版本的子模块状态:

  • 查看父仓库中code子模块的版本变更历史:
    git log -p -- code
    
    从输出里找到code子模块指向<TARGET_COMMIT>的那个父仓库提交,记下它的哈希值,记为<ADAPT_PARENT_COMMIT>

3. 同步所有子模块到适配版本

  • 切换父仓库到这个适配提交:
    git checkout <ADAPT_PARENT_COMMIT>
    
  • 递归更新所有子模块(包括嵌套的toolchain/linux和toolchain/windows):
    git submodule update --init --recursive
    
    这个命令会自动把所有子模块(含嵌套子模块)切换到父仓库当前提交所记录的适配版本,确保构建环境和code版本匹配。

4. 可选:在当前分支保留适配配置

如果不想切换父仓库分支,而是在当前分支固定所有子模块的适配版本:

  • 依次进入其他子模块(tools、shared、toolchain/linux、toolchain/windows),分别切换到对应适配的提交哈希(可从<ADAPT_PARENT_COMMIT>的子模块记录中获取)
  • 回到父仓库,提交所有子模块的版本变更:
    git add tools shared toolchain/linux toolchain/windows code
    git commit -m "Sync submodules to adapt code's <TARGET_COMMIT>"
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 17:57:35