在git pull之后做“git submodule update”更新子模块吗?

时间:2014-05-05 14:49:51

标签: git git-submodules

我是git子模块的新手,我对git子模块可用的文档感到很困惑。我的问题很简单

  

我离开了2个月,我想更新我的本地回购代码。我的仓库里面有子模块。我做了    git pull origin master (它更新我本地仓库中的代码。)
现在我要更新子模块

所以为此,正在做

  

git子模块更新够了吗?

我也看到了命令

  

git submodule foreach git pull origin master
  在更新子模块的文本中。

在我看来,这个命令正在为每个子模块执行git pull。但在我的回购中,每个子模块都处于分离状态。当我进入他们的子目录并执行git分支时,它会显示(无分支),我认为这意味着它处于分离头状态。因此,如果它不在任何分支中,那么放置代码的位置。

那么对我来说,确保我的仓库处于更新状态的正确方法是什么。

1 个答案:

答案 0 :(得分:0)

命令git submodule update足以获取所有已注册的子模块。如果要更新子模块的子模块,则需要git submodule update --recursive

请注意,子模块通常会检出特定的提交,因此在更新之间传递两个月不会更改与子模块关联的提交。但是,如果您使用分支进行子模块配置,那么如果这些分支实际上在两个月内进化,那么您将获得更改。