子模块始终在特定的提交SHA1(“ gitlink”,父存储库索引中的特殊条目)处检出
但是可以请求将该子模块更新为该子模块远程存储库分支的最新提交。
而不是进入每个子模块,执行a git checkout abranch --track origin/abranch, git pull,您可以简单地(从父仓库中)执行a:
git submodule update --remote --recursive
由于子模块的SHA1会更改,因此您仍然需要遵循以下步骤:
git add . git commit -m "update submodules"
假设子模块为:
添加了一个分支以遵循:
git submodule -b abranch -- /url/of/submodule/repo
或配置(对于现有子模块)以遵循分支:
cd /path/to/parent/repo
git config -f .gitmodules submodule.asubmodule.branch abranch