繁体   English   中英

如何在GIT中更新子模块

[英]How to update submodules in GIT

以下代码足以更新子模块吗?

git submodule sync
git submodule update --init --recursive

我对主项目进行了git pull。

那我做

git submodule sync
git submodule update --init --recursive

更新子模块。

该代码够吗?

您可以简单地对git submodule foreach git pull使用git submodule foreach git pull来使它们在下载后保持更新。

为了使它们与主项目一起使用,可以在克隆包含它们的git submodule update --init后对git clone命令使用--recursive参数,也可以使用命令git submodule update --init命令。

编辑

我宁愿看一下文档,以完全理解上述命令之间的区别,但是我还将尝试在下面解释它们。

git submodule update命令执行以下操作:

通过克隆丢失的子模块并更新子模块的工作树,更新已注册的子模块以符合超级项目的期望。

这意味着它不会将子模块更新为最新的可用版本,而是检出超级项目期望使用的实际提交。

另一方面,命令git submodule foreach

在每个检出的子模块中评估一个任意的shell命令。

因此,假设OP知道git pull命令的作用,则可以很容易推断出它们的组合实际上可以将所有子模块更新为最新的可用提交。

有关更多详细信息,请参见上面的链接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM