如何将 Git 子模块指针恢复到存储在包含存储库中的提交?

2024-04-03

我的主 git 存储库中有一个 git 子模块。据我了解,主存储库存储一个 SHA 值(某处...),指向它“链接到”的子模块的特定提交。

我进入我的子模块并输入git checkout some_other_branch。我不知道我来自哪个提交。

我想恢复该指针,以便主存储库和子模块再次同步。

我的第一个(可能是天真的)本能是说git reset --hard- 这似乎适用于其他一切。令我惊讶的是,它不适用于这种情况。

所以我发现我可以输入git diff,记下子模块指针曾经具有的 SHA ID,然后进入子模块并git checkout [SHA ID]...但肯定有更简单的方法吗?

由于我仍在学习 git 子模块,如果有我不知道的概念单词,请随时纠正我的术语。


您想要更新子模块,使其与父存储库认为应该的内容同步。这就是更新命令的用途:

从子模块手册页:



Update the registered submodules, i.e. clone missing submodules and
checkout the commit specified in the index of the containing
repository. This will make the submodules HEAD be detached unless
--rebase or --merge is specified or the key submodule.$name.update
is set to rebase or merge.
  

运行这个,一切都应该很好:

git submodule update --init

您可以添加--recursive标记以及递归所有子模块。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 Git 子模块指针恢复到存储在包含存储库中的提交? 的相关文章

随机推荐

  • pyenv install 3.6.3 发生错误:为什么?

    user syyun pyenv install 3 6 3 Downloading Python 3 6 3 tar xz gt https www python org ftp python 3 6 3 Python 3 6 3 tar
  • 应用程序可以在通知中心同时使用警报和横幅吗?

    我正在创建一个 Mac OS X 应用程序来使用通知中心 一些通知应保留在屏幕上 直到用户与它们交互 而其他通知应在显示后不久消失 The NSUserNotificationAlertStyle键和更改系统偏好设置允许在横幅和警报之间进行
  • 无法理解通过引用传递

    我发现理解 C 中的引用传递真的很令人困惑 在我的代码中 我有一个带有两个参数的函数 private bool SerialUnEscape byte serialData ref byte serialResult if SerialPr
  • JAVA数组内不重复的随机数

    我想在一个数组中生成 6 个数字 同时对其进行比较 这样它们就不会相同或没有重复的数字 例如 我想以任意顺序生成 1 2 3 4 5 6 最重要的是不重复 所以我的想法是将生成的数组中的当前数组一一比较 如果数字重复 它将重新运行该方法并再
  • 在 Python 中用多边形计算 Pi

    我在精确计算 Pi 时遇到问题 我使用的方法是 我得到一个半径为 1 的圆 并在其内部放置具有 8 16 32 64 角的多边形 在每个步骤后将它们加倍 但问题是结果只有前15位小数是正确的 这是程序 import math import
  • 如何在reason-react组件中添加版权符号?

    我是理性反应新手 我正在尝试将版权符号放入反应原因组件中 我试过了 span ReasonReact stringToElement copy span 但这并没有给我 符号 简单的说 copy 如果你不放 不起作用
  • 为什么要将对象的副本作为函数的参数?为什么 const ref 不是参数的默认方式?

    尽管我非常喜欢 C 编程 但有一件事我确实不明白 对我来说 最常见的函数编程方式似乎是这样的 some function a variable do something according to the data in the variab
  • Xcode 10、sourcery 和 swiftlint 构建阶段顺序

    更新到 Xcode 10 后 初始项目配置存在一些问题 步骤如下所示 使用生成一些文件Sourcery https github com krzysztofzablocki Sourcery 棉绒与SwiftLint https githu
  • 我的特殊字符在 WordPress 中显示为 ’

    如何让我的特殊字符在 WordPress 上正确显示 My are being converted to 8217 所有特殊字符都会发生这种情况 有什么功能或者插件可以修复吗 您可以使用htmlspecialchars decode htt
  • Visual Studio C# 语句崩溃

    当编辑很长的代码块时 无论如何肯定应该重构 但这超出了这个问题的范围 我经常渴望能够折叠语句块 就像折叠功能块一样 也就是说 如果减号图标出现在大括号内的所有内容的代码大纲上 那就太好了 它似乎出现在函数 类 区域 命名空间 使用中 但不适
  • 中包含子包的语法是什么?

    我正在使用Spring并且我有一个很长的子包列表 我是否必须在包中一一指定它们
  • Android上批量获取大量位图资源

    我有一长串图形 icon1 0 png icon1 1 png icon1 2 png icon12 0 png icon12 1 png icon12 2 png 我想将它们打包到我的android应用程序中 理想情况下 我认为我应该能够
  • 如何从 C++ DLL 中的 C# 简单函数调用

    我在 C 中有一个简单的函数 不是类的方法 declspec dllexport extern C void stdcall TestFunc 我尝试从 C 调用它 DllImport ImportTest dll public stati
  • 将语料库转换为R中的data.frame

    我正在使用 tm 包来应用词干提取 并且需要将结果数据转换为数据框 可以在这里找到解决方案R tm包vcorpus 将语料库转换为数据帧时出错 https stackoverflow com questions 24703920 r tm
  • 检查数组中是否存在元素

    PHP中有一个函数叫做isset http php net isset检查某些内容 例如数组索引 是否存在并且具有值 Python 怎么样 我需要在数组上使用它 因为有时我会收到 IndexError 列表索引超出范围 我想我could使用
  • 删除“搜索”选项,但保留“搜索列”选项

    我想从我的应用程序中删除 全局搜索 选项 但保留 列搜索 选项 有任何想法吗 我尝试过不同的参数 例如searching FALSE filtering none 这些都不能正常工作 My code server R library shi
  • MVC中VIEWDATA和VIEWBAG存储在哪里?

    我对 MVC 非常陌生 在 ASP Net 中 存在状态管理技术 其中视图状态或 cookie 存储在客户端中 会话存储在服务器中 类似地 我们在 MVC 中有 Viewbag ViewData 和 TempData cookie 和会话也
  • iOS setValue withCompletionBlock 未调用

    在设置值时 我遇到了一些在 iOS 模拟器和设备 上未调用的completionBlocks 例如 void addShortUserPlaylistUrl NSString playlistId playlistName NSString
  • Plotly.py:在行之间填充,正/负不同颜色

    使用 Plotly 我可以轻松绘制两条线并填充它们之间的区域 import plotly graph objects as go fig go Figure fig add trace go Scatter x 1 2 3 4 y 1 2
  • 如何将 Git 子模块指针恢复到存储在包含存储库中的提交?

    我的主 git 存储库中有一个 git 子模块 据我了解 主存储库存储一个 SHA 值 某处 指向它 链接到 的子模块的特定提交 我进入我的子模块并输入git checkout some other branch 我不知道我来自哪个提交 我