我有:
现在我需要做的是在MAIN和SUB中都创建一个分支,这样当我在MAIN上的该分支上时,我也可以在SUB中切换到特定分支。似乎不可能。
我所做的是我在SUB中创建了一个分支(称为branch_sub
)并推送了新分支。
现在,在MAIN中,我在MAIN中创建了另一个分支(称为branch_main
),并修改了.gitmodule和.git / config,将branch_sub
设置为“ branch”字段,以便子模块应指向该特定分支科。将提交推送到MAIN的分支中。
现在,如果我执行git submodule update
,则SUB将返回master分支并返回原始提交。为什么?这是非常愚蠢的imo。
如果我手动切换到branch_sub
,然后在MAIN git submodule update --remote
中执行,则SUB停留在正确的提交上,但是处于分离的HEAD
而不是分支branch_sub
:(中。
有提示吗?我可能需要做些什么?对我来说,这似乎很基础,但是git子模块似乎并不容易支持它。
答案 0 :(得分:0)
您想实现的目标是不可能的。子模块总是签出某个提交,而不是分支,因此总是处于分离的HEAD状态。如您所经历的那样,签出的提交可能由子模块的分支集确定。另请参见this answer。