美文网首页
【Git】submodule

【Git】submodule

作者: 云彩修建站站长 | 来源:发表于2021-10-28 23:04 被阅读0次

    增加submodule

    git submodule add <url> <path>
    
    • url:替换为自己要引入的子模块仓库地址
    • path:要存放的本地路径
      执行添加命令成功后,可以在当前路径中看到一个.gitsubmodule文件,里面的内容就是我们刚刚add的内容

    如果在添加子模块的时候想要指定分支,可以利用 -b 参数

    git submodule add -b <branch> <url> <path>
    

    例子如下:

    git submodule add https://github.com/tensorflow/benchmarks.git 3rdparty/benchmarks
    
    [submodule "3rdparty/benchmarks"]
        path = 3rdparty/benchmarks
        url = https://github.com/tensorflow/benchmarks.git
    

    clone

    克隆一个包含子仓库的仓库目录,并不会clone下子仓库的文件,只是会克隆下.gitmodule描述文件,需要进一步克隆子仓库文件。

    如果clone的时候,想把submodule也checkout出来,需要用:

    git clone xxx --recurse-submodules
    

    另一种方法是,clone出来主项目之后,执行下面:

    git submodule init
    git submodule update
    

    submodule变化

    submodule有三种变化:

    1. 当前项目下子模块文件夹内的内容发生了未跟踪的内容变动;
    2. 当前项目下子模块文件夹内的内容发生了版本变化;
    3. 当前项目下子模块文件夹内的内容没变,远程有更新;
      详细需要参考:知乎

    只说下第三种情况,这种情况如果想拉取最新的submodule,

    cd project-sub-1
    git pull origin master
    

    相关文章

      网友评论

          本文标题:【Git】submodule

          本文链接:https://www.haomeiwen.com/subject/espwaltx.html