Git 1.8.2提供了一个新的选项--remote,可以完全实现这种行为。运行git submodule update --remote --merge将从每个子模块的上游获取最新更改,并将其合并,并检查子模块的最新版本。正如文件所说:- 远程该选项仅对更新命令有效。使用子模块的远程跟踪分支的状态,而不是使用超级项目的记录的SHA-1来更新子模块。这相当于git pull在每个子模块中运行,这通常正是你想要的。