Git更新子模块递归
我的项目结构
ProjectA
-FrameworkA (submodule)
--Twig (submodule of FrameworkA)
我如何更新子模块递归? 我已经尝试了一些git命令(在ProjectA根上)
git submodule foreach git pull origin master
or
git submodule foreach --recursive git pull origin master
但不能拉出Twig的文件
git submodule update --recursive
您也可能想要使用--init选项来使其初始化任何未初始化的子模块:
git submodule update --init --recursive
注意: 在一些旧版本的Git中 ,如果使用--init
选项,则可能不会更新已经初始化的子模块。 在这种情况下,您还应该在不使用--init
选项的情况下运行该命令。
我使用的方式是:
git submodule update --init --recursive
git submodule foreach --recursive git fetch
git submodule foreach git merge origin master
由于可能发生子模块的默认分支不是 master
(这在我的情况中发生了很多),因此我将自动完成Git子模块的全部升级:
git submodule init
git submodule update
git submodule foreach 'git fetch origin; git checkout $(git rev-parse --abbrev-ref HEAD); git reset --hard origin/$(git rev-parse --abbrev-ref HEAD); git submodule update --recursive; git clean -dfx'
链接地址: http://www.djcxy.com/p/23603.html