git 新手有个疑问,git clone 储存库时添加--recursive 参数可以初始化包含子模块。
以后 git pull 更新会同时更新子模块内容吗?
另外如果父仓库新增了其它子模块,会不会也会自动初始化包含新的子模块?
1
airfling 2019-11-01 11:12:19 +08:00
两个都不会,除非你主动更新子模块和主动初始化子模块
|
2
VKMEPR OP @airfling 这样呀,网上搜索一般用 submodule update --init --recursive 初始化和更新子模块,测试这个命令不带 --recursive 参数运行似乎也没什么区别,这个参数在该场景下有必要使用吗?
|
3
airfling 2019-11-01 11:32:13 +08:00
recursive 这个参数就是递归执行的意思啊,不加就是只执行当前模块的 git 仓库,加的话就是递归执行当前仓库的所有模块和子模块
|
4
find456789 2019-11-01 14:36:36 +08:00
git subtree 了解下?
|
5
VKMEPR OP @airfling 在 git clone 储存库后添加子模块用 git submodule update --init --recursive 命令,但测试发现其中不加 --recursive 效果也一样,也添加了所有子模块,所以好奇他们之间有什么区别?哪个是正确用法?假设目的是更新当前父储存库下的所有子模块。
|
6
momocraft 2019-11-01 15:45:46 +08:00
recursive 的意思是 submodule 的 submodule
|