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

已删除的TestLibrary1子模块仍报Git URL错误的原因排查

GitHub Actions拉取仓库时,已删除子模块仍报"No url found for submodule path"错误

问题详情

使用GitHub Actions拉取仓库时触发如下错误:

fatal: No url found for submodule path 'TestLibrary1' in .gitmodules

已尝试操作:
我已经删除了该子模块的文件夹,同时删掉了.gitmodules里对应的记录,但这个错误还是持续出现。

疑问:
为什么子模块已经不存在了还会报这个错?还有哪些可能残留引用的地方需要检查?


原因与解决方案

这个错误本质是Git仓库的隐藏元数据里还残留着该子模块的索引记录,GitHub Actions拉取代码时会读取这些元数据,即便你删除了可见的文件夹和.gitmodules配置,残留记录依然会触发子模块拉取逻辑。需要检查以下几个位置:

  • 清理Git索引中的子模块记录
    先查看当前索引里的子模块条目:

    git ls-files --stage | grep 160000
    

    如果输出里有TestLibrary1相关内容,执行命令删除索引中的记录:

    git rm --cached TestLibrary1
    

    提交这个变更并推送到远程仓库。

  • 检查本地.git/config配置文件
    打开仓库根目录下的.git/config文件,查找包含TestLibrary1的配置段(一般是[submodule "TestLibrary1"]开头的块),直接删除这段配置,保存文件后推送到远程。

  • 检查GitHub Actions工作流的拉取配置
    确认你的Actions工作流中,actions/checkout步骤是否设置了submodules: true。如果现在不需要拉取任何子模块,把这个参数改成submodules: false,或者直接移除该配置项。

  • 清理历史缓存(可选)
    如果之前的提交历史里包含子模块记录,偶尔会因为缓存导致问题,可以在actions/checkout步骤中添加fetch-depth: 0拉取完整历史,或者手动触发一次仓库的强制同步(操作前请确认无未提交变更)。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 11:25:33