git submodule update --init --recursive无法拉取解决

bash 复制代码
git submodule update --init --recursive

一直卡在clone解决方法,先用ssh clone下源代码,再进入目录,先初始化

bash 复制代码
git submodule init

再在当前目录下加入下面的脚本

bash 复制代码
#!/bin/bash

pull_submodule_recursive()
{
    if [ -f ".gitmodules" ];then
        echo ".gitmodules found"
        # backup
        cp .gitmodules .gitmodules.bak
        while read line
        do
            # substitude the https with ssh
            echo ${line} | sed 's/https:\/\/github.com\//git@github.com:/g' >> .new_gitmodules
        done < .gitmodules
        mv .new_gitmodules .gitmodules
        # pull current submodules
        git submodule init
        git submodule sync
        git submodule update
        # get the directories of current submodules
        local directories=$(cat .gitmodules | grep path | awk '{print $3}')
        for directory in $directories
        do
            if [ -d $directory ];then
                # enter the directory
                pushd ${directory} > /dev/null
                # pull one submodule and its submodules
                pull_submodule_recursive
                # return to the last working directory
                popd > /dev/null
            fi
        done
    else
        echo "current submodule has no submodule, return to last directory..."
    fi
    return 0
}

pull_submodule_recursive

最后再运行这个脚本即可,记得赋予执行权限(+x),有可能还是会出现网络问题

bash 复制代码
bash a.sh
相关推荐
devlei13 小时前
从源码泄露看AI Agent未来:深度对比Claude Code原生实现与OpenClaw开源方案
android·前端·后端
Rabbit_QL13 小时前
【Git 报错处理】`remote origin already exists` 是什么意思?
git
Jagger_14 小时前
周末和AI肝了两天,终于知道:为什么要把AI当做实习生
前端
weixin_4561648314 小时前
vue3 子组件向父组件传参
前端·vue.js
沉鱼.4414 小时前
第十二届题目
java·前端·算法
Setsuna_F_Seiei14 小时前
CocosCreator 游戏开发 - 多维度状态机架构设计与实现
前端·cocos creator·游戏开发
Bigger15 小时前
CodeWalkers:让 AI 助手化身桌面宠物,陪你敲代码的赛博伙伴!
前端·app·ai编程
cyclv16 小时前
无网络地图展示轨迹,地图瓦片下载,绘制管线
前端·javascript
陈佬昔没带相机16 小时前
GitHub clone 不动、pip 卡住、brew 转圈?一份指南搞定
git·npm
土豆125016 小时前
Tauri 入门与实践:用 Rust 构建你的下一个桌面应用
前端·rust