【发布时间】:2021-03-15 22:37:59
【问题描述】:
我有一个仓库 X(假设它有分支 XB1、XB2,并且我已经签出了分支 XB1)。我添加了一个子模块 Y(让我们假设这个子模块有分支 YB1、YB2)。我在 X 中添加了子模块 Y(分支 YB1)。
有没有办法将分支 YB2 作为子模块添加到分支 XB2 中?
总之,我正在寻找的是,当我结帐 XB1 时,我想使用 YB1,而当我结帐 XB2 时,我想使用 YB2。
不确定以上是否可以在 git 中实现,但想问一下。
【问题讨论】:
-
绝对有可能。设置好 XB1 后,签出 XB2,导航到子模块并签出 YB2。导航到主仓库并运行 git status ,它应该显示子模块发生了变化。您可以暂存并提交该更改,这实际上只是对文件 .gitmodules 的更改,就像您提交任何更改一样
-
您的主要工具应该是
git checkout --recurse-submodules。第二种尝试方式是post-checkouthook。
标签: git git-submodules