我是git子模块的新手,我对git子模块可用的文档感到很困惑。我的问题很简单
我离开了2个月,我想更新我的本地回购代码。我的仓库里面有子模块。我做了 git pull origin master (它更新我本地仓库中的代码。)
现在我要更新子模块
所以为此,正在做
git子模块更新够了吗?
我也看到了命令
git submodule foreach git pull origin master
在更新子模块的文本中。
在我看来,这个命令正在为每个子模块执行git pull。但在我的回购中,每个子模块都处于分离状态。当我进入他们的子目录并执行git分支时,它会显示(无分支),我认为这意味着它处于分离头状态。因此,如果它不在任何分支中,那么放置代码的位置。
那么对我来说,确保我的仓库处于更新状态的正确方法是什么。
答案 0 :(得分:0)
命令git submodule update
足以获取所有已注册的子模块。如果要更新子模块的子模块,则需要git submodule update --recursive
。
请注意,子模块通常会检出特定的提交,因此在更新之间传递两个月不会更改与子模块关联的提交。但是,如果您使用分支进行子模块配置,那么如果这些分支实际上在两个月内进化,那么您将获得更改。