3
假设我已经建立了一个git子模块,并且上游提交历史已被重写(例如预制了一个rebase squash)。如何更新谁的历史被重写的git子模块
说我的子模块头设置为不再退出。所以我想设置头哈希子模块的回购的头。我怎么做?
假设我已经建立了一个git子模块,并且上游提交历史已被重写(例如预制了一个rebase squash)。如何更新谁的历史被重写的git子模块
说我的子模块头设置为不再退出。所以我想设置头哈希子模块的回购的头。我怎么做?
你可以简单地进入子模块,做一个git fetch,并签出你需要的HEAD。
cd mysubmodule
git fetch
git checkout origin/abranch
然后你回到父回购,添加并提交new submodule SHA1 entry。
请注意,您也可以convert a submodule in order to follow the latest commits of a branch。
在这种情况下,一个简单的:
git submodule update --remote
就足够了。
就像一个笔记,提交你的子模块的头被设置为仍然存在。如果你想防止它被垃圾收集(大约九十天后),你可以添加你自己的引用它与一个标签或合并 - 我们把它'保存历史'分支或您想要做到这一点。 – jthill