我有三个存储库:A,B和C.
在我的存储库A中,我创建了一个朝向B的子模块(A / library / B)。
在我的存储库B中,我创建了一个朝向C的子模块(A / library / B / library / C)。
我想在我的存储库C上创建一个新分支:
git clone --recursive C
cd C
git checkout -b branch-test
git touch test
git add test
git commit -m "test"
git push origin branch-test
现在我想在我的存储库B上创建一个分支,而在我的新分支上,朝向C的子模块遵循我之前创建的分支:
git clone --recursive B
cd B
git checkout -b branch-test
cd library/C
git checkout branch-test
cd ../../
git add library/C
git commit -m "Updating version of submodule C"
git push origin branch-test
直到那里,没有问题。当我在我的存储库A上执行相同操作时出现问题:
git clone --recursive A
cd A
git checkout -b branch-test
cd library/B
git checkout branch-test
现在,当我要去A / library / B并输入“git branch”时,我可以看到我在我的子模块B的分支“分支测试”中。但是当我要去A时/ library / B / library / C和我输入“git branch”,我可以看到我正在进行分离提交而不是分支“分支测试”。
你知道为什么吗?
此致 本