git - Git子模块:手动更改sha1
问题描述
简单的事情,我有一个带有子模块的项目。在某些时候,子模块的更改没有被推送,但超级项目被推送了。
现在,超级项目对子模块的 sha-1 引用指向服务器端不存在的提交,因此 git 无法更新子模块(error: no such remote ref 8ba0033813718939726d7e9429bf3eabcc52034d
)
我只是想将 sha-1 设置为其他值——但由于更新失败,我无法使用git checkout ...
在子模块中使用(这是每个看起来像 SO 的问题的公认解决方案)。
我试图探索 .git/modules/... 但我找不到它的存储位置。
解决方案
即使git checkout master
在子模块中不起作用,我还是设法开始git checkout [commit hash]
工作——它解决了问题。
推荐阅读
- python - 在网络服务器上写入文件时的权限问题(flask、apache 和 wsgi)
- ruby-on-rails - 当我发布我的 gem 时出现此错误:“在 Gemfile 中列出的任何 gem 源中找不到 gem 'uix_validations (~> 0.5.0)'。”
- html - 为线条设置动画并使其变成 css3
- algorithm - 一个范围内连接的城市数量
- r - 数字属性在 ggnet2 中进行 alpha 排序
- c# - 从资源字典中读取画笔
- visual-studio - 如何在 Visual Studio 2017 中为 .Net core 2.1 应用程序引用 F# 交互中的 Dll?
- c# - 最佳实践 - 两个具有类比意义的函数
- crc - CRC 方法无法检测到哪些错误?
- mailgun - Mailgun 是发送到特定域的电子邮件失败