首页 > 解决方案 > Git子模块:手动更改sha1

问题描述

简单的事情,我有一个带有子模块的项目。在某些时候,子模块的更改没有被推送,但超级项目被推送了。

现在,超级项目对子模块的 sha-1 引用指向服务器端不存在的提交,因此 git 无法更新子模块(error: no such remote ref 8ba0033813718939726d7e9429bf3eabcc52034d )

我只是想将 sha-1 设置为其他值——但由于更新失败,我无法使用git checkout ...在子模块中使用(这是每个看起来像 SO 的问题的公认解决方案)。

我试图探索 .git/modules/... 但我找不到它的存储位置。

如果您想了解有关项目结构的更多信息,您可以在此处找到项目,并在此处找到子模块。

标签: gitgit-submodules

解决方案


即使git checkout master在子模块中不起作用,我还是设法开始git checkout [commit hash]工作——它解决了问题。


推荐阅读