我们正在使用 git 子模块来管理几个依赖于我们开发的许多库的大型项目。每个库都是一个单独的存储库,作为子模块引入依赖项目。在开发过程中,我们经常想去获取每个依赖子模块的最新版本。
git 是否有内置命令来执行此操作?如果不是,那么可以使用 Windows 批处理文件或类似文件怎么样?
如果这是您第一次签出回购协议,您需要先使用--init:
--init
git submodule update --init --recursive
对于git 1.8.2或更高版本,--remote添加了支持更新到远程分支最新提示的选项:
--remote
git submodule update --recursive --remote
.gitmodules这具有尊重or文件中指定的任何“非默认”分支的额外好处.git/config(如果您碰巧有任何分支,默认为 origin/master,在这种情况下,这里的一些其他答案也可以使用)。
.gitmodules
.git/config
对于git 1.7.3或更高版本,您可以使用(但以下关于更新仍然适用的问题):
git submodule update --recursive
或者:
git pull --recurse-submodules
如果您想将您的子模块拉到最新提交而不是当前提交,则 repo 指向。
详见git-submodule(1 )