这是我遇到的情况。 我有一个包含子模块的 repo 协议(protocol)。在 repo 中,我创建了一个新分支来进行一些编辑。
然后我发现我需要一个更新的子模块,所以我 pull 下子模块并继续工作。 之后我做了一个提交,并将分支 merge 回主分支。
在主分支中,当我使用“git submodule update”时,子模块指向旧版本,而不是分支中的更新版本:(
我想知道 git 是否 merge 了子模块引用?谁能帮帮我?
最佳答案
在你的分支中, pull 子模块 'xxx
' 后,你需要返回父仓库(在包含你的子模块的文件夹中)并执行:
git add xxx
git commit -m "Updated submodule"
这将记录一个更新的 special entry of the index记住子模块“xxx
”的新 SHA1。
这是当您将分支 merge 回 master
时需要更新的特殊条目。
如果您忘记分支中的 git add/git commit
步骤, merge 回 master
将保持特殊条目不变,仍然引用旧的 SHA1。
关于git - 切换分支时git是否更改子模块引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17792336/