这是我面临的情况。 我有一个包含子模块的repo。在repo中,我创建了一个新分支来进行一些编辑。
然后我发现我需要一个更新的子模块,所以我拉下了子模块并继续工作。 之后我做了一个提交,并将分支合并回主分支。
在master分支中,当我使用“git submodule update”时,子模块指向旧版本,但不指向分支中更新的版本:(
我想知道git是否合并了子模块引用?任何人都可以帮助我吗?
答案 0 :(得分:1)
在您的分支中,在拉出子模块“xxx
”之后,您需要返回父级仓库(在包含子模块的文件夹中)并执行以下操作:
git add xxx
git commit -m "Updated submodule"
这将记录更新的special entry of the index,记住子模块“xxx
”的新SHA1。
这是您将分支合并回master
时需要更新的特殊条目。
如果您忘记了分支中的git add/git commit
步骤,则合并回master
将保持特殊条目不变,仍然引用旧的SHA1。