【Git】submodule

2021-10-28  本文已影响0人  云彩修建站站长

增加submodule

git submodule add <url> <path>

如果在添加子模块的时候想要指定分支,可以利用 -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
上一篇下一篇

猜你喜欢

热点阅读