假设我已经设置了一个 git 子模块,并且上游提交历史已经重写(例如,执行了一个 rebase 壁球)。
假设我的子模块头的提交设置为不再退出。所以我想设置 head hash 子模块的 repo 的头部。我怎么做?
您可以简单地进入子模块,执行 git fetch,然后检查您需要的 HEAD。
cd mysubmodule
git fetch
git checkout origin/abranch
然后你回到父仓库,添加并提交新的子模块 SHA1 条目。
请注意,您还可以转换子模块以遵循分支的最新提交。
在这种情况下,一个简单的:
git submodule update --remote
就足够了。