Git 子模块 : manually change sha1

标签 git git-submodules

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

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

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

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

如果您想了解有关项目结构的更多信息,可以找到项目 here和子模块 here .

最佳答案

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

关于Git 子模块 : manually change sha1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52319768/

相关文章:

Git shell 在 OpenSSH pop 窗口中提示输入密码

svn - Git 到 svn : Adding commit date to log messages

git - 我可以使用自定义标志扩展 git 命令吗?

Git:从现有存储库创建 Git 子模块并将父更改反射(reflect)到子存储库

Git 子模块 - 如何在从主仓库中 pull 时保持子模块更新

git - 在 git 中克隆一棵树

git - 使用 Git 和 Nuget 管理内部共享库

git - 胆小的人可以使用 git 中的子模块

git - 忽略 git 子模块的新提交

Git 从一个远程分支推送到另一个远程分支