我有一个dotfiles存储库,其中我的所有vim插件都存储为子模块,因此它们在更改时很容易更新.我认为这两个命令做了同样的事情,但我注意到情况绝对不是这样.
我知道我有几个子模块的更新,所以我git pull origin master --recurse-submodules从父存储库的根目录运行.它似乎迭代每个子模块,但只从其原始存储库获取更新.
当我运行时,git submodule foreach git pull origin master它实际上git pull origin master在每个存储库中运行,同时执行提取和合并.
有什么用--recurse-submodules?我对它实际上要做的事情感到有点困惑,谷歌对我发现的东西有点神秘.我想也许你聪明的人会有一个更简单的解释.