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

场景

主仓库:TestGit

子模块:SubModule

分支v1.0 .gitmodules文件

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

分支v2.0 .gitmodules文件

bash 复制代码
[submodule "Library/SubModule"]
	path = Library/SubModule
	url = [email protected]: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 [email protected]: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

相关推荐
2501_9153743527 分钟前
git 查看用户信息
git
palomua7 小时前
Git Updates were rejected because the remote contains work that you do not
git
不知名。。。。。。。。13 小时前
Linux—— 版本控制器Git
linux·运维·git
JJ1M815 小时前
Git技巧:Git Hook,自动触发,含实战分享
git·python·自动化
服部17 小时前
如何查看指定作者在所有分支的提交记录
前端·git·github
大卫小东(Sheldon)19 小时前
使用DVC管理大文件变更历史(基于git)
git
晓龙的Coding之路20 小时前
如何通过git删除某个文件的历史提交记录
git·git删除指定文件log
手可摘星Chen1 天前
commitlint安装和配置使用教程
前端·git
曾经的三心草1 天前
Git-基本操作
大数据·git·elasticsearch
i_am_a_div_日积月累_1 天前
git检查提交分支和package.json的version版本是否一致
git·json