假设我已经设置了一个git子模块,并且上游提交历史已被重写(例如执行了rebase squash操作)。
假设我子模块的head指向的提交已不存在。因此,我想将子模块repo的head哈希设置为当前的head。我该怎么做?
cd mysubmodule
git fetch
git checkout origin/abranch
然后你回到父仓库,添加并提交该新的子模块 SHA1 项。
请注意,您还可以转换子模块以跟随分支的最新提交。
在这种情况下,只需执行以下操作:
git submodule update --remote
足够了。