场景
主仓库:TestGit
子模块:SubModule
分支v1.0 .gitmodules文件
[submodule "Library/SubModule"]
path = Library/SubModule
url = git@gitee.com:sunriver2000/SubModule.git
branch = 1.0.0.0
分支v2.0 .gitmodules文件
[submodule "Library/SubModule"]
path = Library/SubModule
url = git@gitee.com:sunriver2000/SubModule.git
branch = 2.0.0.0
问题
仓库如上场景描述,开发人员A负责开发v1.0和v2.0,因此会遇到下面这个问题。
使用以下命令检出仓库和子模块后,子模块并不能跟随主仓库切换到对应分支。例如:主仓库已切换到分支v2.0,进入子模块目录发现子模块仍停留在分支1.0.0.0。
当然,我们可以进入子模块目录输入git checkout命令手动切换到2.0.0.0。但是,如果子模块很多呢,是否有批量切换子模块分支命令存在呢?
git clone git@gitee.com:sunriver2000/TestGit.git
git submodule update --progress --init --recursive --force --remote -- "Library/SubModule"
git checkout v2.0
解法
1、在主仓库目录,使用这个命令可以批量切换子模块分支。
git submodule update --romote
使用git log命令查看分支是否已切换。
参考
https://blog.csdn.net/bglmmz/article/details/127755543文章来源:https://www.toymoban.com/news/detail-731858.html
https://git-scm.com/book/en/v2/Git-Tools-Submodules文章来源地址https://www.toymoban.com/news/detail-731858.html
到了这里,关于【Git】(六)子模块跟随主仓库切换分支的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!