【Git】(六)子模块跟随主仓库切换分支

场景

主仓库:TestGit

子模块:SubModule

分支v1.0 .gitmodules文件

bash 复制代码
[submodule "Library/SubModule"]
	path = Library/SubModule
	url = git@gitee.com:sunriver2000/SubModule.git
	branch = 1.0.0.0

分支v2.0 .gitmodules文件

bash 复制代码
[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。但是,如果子模块很多呢,是否有批量切换子模块分支命令存在呢?

bash 复制代码
git clone git@gitee.com:sunriver2000/TestGit.git
git submodule update --progress --init --recursive --force --remote -- "Library/SubModule"
git checkout v2.0

解法

1、在主仓库目录,使用这个命令可以批量切换子模块分支。

bash 复制代码
git submodule update --romote

使用git log命令查看分支是否已切换。

参考

https://blog.csdn.net/bglmmz/article/details/127755543

https://git-scm.com/book/en/v2/Git-Tools-Submodules

相关推荐
江畔柳前堤12 小时前
第13章:docker生产环境部署实战
运维·git·docker·容器·代码复审
GuHenryCheng14 小时前
【ESP32】ESP-IDF开发环境搭建(cursor)
git·stm32·单片机·学习
kaka。。15 小时前
GIT安装+代码推送
git
明理的路灯16 小时前
安装 git 开发工具
git
偏爱自由 !16 小时前
5:IDEA中git的使用--git fetch 和 git pull 和解决冲突
git·elasticsearch·intellij-idea
偏爱自由 !18 小时前
2:IDEA中git的使用--基础操作
java·git·intellij-idea
青山木1 天前
快速搭建免费的个人博客网站:Hexo + GitHub Pages + Butterfly 完整指南
git·github
江畔柳前堤1 天前
第16章:docker企业级实战综合项目
运维·git·安全·docker·容器·eureka
偏爱自由 !1 天前
一(0.1):配置git
java·git·intellij-idea
江畔柳前堤1 天前
第11章:Docker 安全加固
运维·git·安全·docker·容器·eureka·github