美文网首页
【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