Git 子模块:手动更改 sha1

Git submodule: manually change sha1

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

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

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

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

如果您想了解有关项目结构的更多信息,可以找到项目 here and the submodule here

尽管 git checkout master 在子模块中不起作用,但我设法使 git checkout [commit hash] 起作用——它解决了问题。