Git submodule update,如何更新子模块

当主项目中用Git管理源代码,并且项目中用submodule方式引入了子模块,当子模块更新代码后,在主项目中如何更新子模块最新代码呢?

1. 如果是第一次pull子项目代码,则执行:

git submodule init

2. 然后执行:

git submodule update --remote --recursive

这个命令,只是更新子模块的branch和commit id信息,并不会pull新代码,所以:

3. 然后,进入主项目中子项目的目录,执行:

git pull

4. 后续,如果主项目所引用的子项目的branch发生了变化,则在第3步时执行:

git fetch

git checkout submodule_newBranch submodule_newBranch

git pull

另:

在第4步中,在 git fetch 之后,如果使用的用jetbrain的IDE工具,比如IDEA / GoLand等,它们会管理远程仓库,此时可以通过点击右下角的branch弹出窗口,来选择需要checkout子项目哪个分支。 

你可能感兴趣的:(git,submodule)