首页/开发/Git 与协作速查/子模块跟踪分支与 --remote 更新
进阶与大仓实践69 条

子模块跟踪分支与 --remote 更新

.gitmodules 中可配置 branch 指定子模块应跟踪的分支(默认跟随远端 HEAD),配合 submodule update --remote 拉取该分支并更新指针。

Git 与协作速查开发更新于 2026-10-12
配置submodule.<name>.branch = main(或 . 表示与父仓库当前分支同名)
更新git submodule update --remote --merge
默认不配置时使用子模块远端默认分支

配置与更新

配置与更新
git config -f .gitmodules submodule.vendor/common.branch main
git submodule update --remote --merge vendor/common
git diff --submodule
--remote 会把指针推进到远端分支顶端,是否提交这次指针变化由你决定;不想升级就别提交。

易错点

  • 自动更新到分支顶端会引入未经验证的上游提交,生产仓库建议人工核对后再提交指针
  • --merge 会在子模块内产生合并提交,团队需约定用 merge 还是 rebase

数据来源与参考

  • Git 官方文档:git-submodule(--remote、branch 配置)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌