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

Git子模块更新时提交未找到的问题定位与解决咨询

解决Git子模块更新失败问题

一、定位出错的子模块

错误日志已直接指明子模块路径:Fetched in submodule path 'linux',出错的就是名为linux的子模块。若需进一步确认,可执行以下命令查看所有子模块的配置与状态:

git submodule status

该命令会列出每个子模块的当前提交哈希、路径和名称,能直观验证linux子模块的目标提交正是报错中的1e07d0ce57c1bd5cf2e9b279deca2e959de88135。

二、切换到可用的提交版本

由于目标提交已被远程仓库移除,需将子模块切换至存在的有效版本,操作步骤如下:

  • 进入子模块目录

    cd linux
    
  • 拉取远程仓库最新信息并查看可用版本
    先同步远程仓库的分支和标签:

    git fetch origin
    

    查看远程可用的稳定分支:

    git branch -r
    

    若要查找5.12系列的剩余可用版本,搜索对应标签:

    git tag -l "v5.12.*"
    

    提示:如果5.12系列已全部被移除,建议切换至长期支持(LTS)版本,比如v5.15.x系列。

  • 切换到目标可用版本
    假设找到可用版本为v5.12.20,执行切换命令:

    git checkout v5.12.20
    
  • 回到主仓库提交子模块版本变更
    返回主仓库目录:

    cd ..
    

    提交子模块的版本更新:

    git add linux
    git commit -m "Update linux submodule to v5.12.20 (valid available commit)"
    
  • 重新执行子模块更新
    此时再执行更新命令即可正常完成:

    git submodule update --init --recursive
    

三、备选方案:更换子模块远程仓库

若原远程仓库不再维护对应版本,可修改子模块的远程地址为官方稳定版仓库:

git config -f .gitmodules submodule.linux.url https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

同步配置并重新拉取:

git submodule sync
git submodule update --init --recursive

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 23:55:22