如何撤消“git重置”?

2024-04-20

如何撤消该命令?

git reset HEAD~

简短回答:

git reset 'HEAD@{1}'

长答案:

Git 保留所有引用更新的日志(例如,签出、重置、提交、合并)。您可以通过输入以下内容来查看它:

git reflog

此列表中的某个位置是您丢失的提交。假设您刚刚输入git reset HEAD~并想要撤消它。我的转发日志如下所示:

$ git reflog
3f6db14 HEAD@{0}: HEAD~: updating HEAD
d27924e HEAD@{1}: checkout: moving from d27924e0fe16776f0d0f1ee2933a0334a4787b4c
[...]

第一行说的是HEAD0个位置之前(换句话说,当前位置)是3f6db14;它是通过重置为获得的HEAD~。第二行说的是HEAD1 个位置之前(换句话说,重置之前的状态)是 d27924e。它是通过检查特定提交获得的(尽管现在这并不重要)。因此,要撤消重置,请运行git reset HEAD@{1} (or git reset d27924e).

另一方面,如果您从那时起运行了一些其他命令来更新 HEAD,那么您想要的提交将不会位于列表的顶部,并且您需要搜索reflog.

最后一点:查看reflog对于您想要取消重置的特定分支,例如 master,而不是HEAD:

$ git reflog show master
c24138b master@{0}: merge origin/master: Fast-forward
90a2bf9 master@{1}: merge origin/master: Fast-forward
[...]

这应该比一般的噪音要少HEAD reflog.

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

如何撤消“git重置”? 的相关文章

随机推荐

  • 空白链接在同一窗口中打开 - 为什么以及如何修复它? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我有四个链
  • 类型错误:无法读取 Jasmine 中未定义的属性(读取“订阅”)

    我正在尝试为以下方法编写测试用例 subscriptionPackages this managePackageService getPackages subscribe response gt this packagePlan respo
  • 该应用程序的开发人员尚未正确设置该应用程序以进行 Facebook 登录?

    我正在尝试在我的脚本中使用 Facebook 进行登录 我已经完成了所有操作 但是当我尝试使用 Facebook 帐户登录时 我从 Facebook 收到此错误 Error 应用程序未设置 此应用程序的开发人员尚未正确设置此应用程序以进行
  • std::vector 当 Foo 的某些成员是引用时

    只要有可能 我通常更喜欢使用引用而不是指针 在我看来 它使语法更清晰 在这种情况下 我有一堂课 class Foo public Foo Bar bar bar bar private Bar bar operator 对于这样的类 编译器
  • 在对数时间内找到未排序数组中的最小值

    是否有一种算法方法可以在对数时间 O logn 内找到未排序数组的最小值 或者只能在线性时间内实现 我不想并行 Thanks Michael 如果列表未排序 则您的搜索必须至少是线性的 每个项目你必须至少看一遍 因为任何你没看过的东西mig
  • 修复 npm 安装失败并显示错误代码 EINTEGRITY

    我在这里浏览了各种类似的帖子但无济于事 他们都得出了类似的解决方案npm cache verify or npm cache clear etc 我什至使用一切可能的方法完全删除 npm 和 node 并重新开始 我什至诉诸使用 force
  • 谷歌地图多边形 - 叠加

    我正在尝试在我的谷歌地图上实现 负 覆盖 类似于您在estately com 上获得的效果 基本上 我已经根据收集的 KML 数据成功绘制了地图多边形 当有多条路径时 它们绘制得很好 因此 在对我的示例进行建模时 首先 我从 Polygon
  • 如何将复选框绑定到Vuex存储?

    我有一个包含一些复选框的组件 我需要能够访问从 Vue 应用程序中的其他组件检查了哪些复选框 但我无法弄清楚 也无法在网上找到 如何将复选框正确连接到我的 Vuex 商店 将组件内的复选框连接到 Vuex 存储的正确方法是什么 以便它们的行
  • 如何确定使用哪种认证方式?

    我想知道 我如何确定正在使用哪种身份验证方法 例如 如果我的身份验证基于 FORMS 身份验证 而不是 WINDOWS 身份验证 我想执行代码 您可以使用配置管理器检查网络配置上的内容 ConfigurationManager GetSec
  • 停放正在使用的线程

    我正在尝试线程停放并决定构建某种服务 它是这样的 public class TestService private static final Logger logger LoggerFactory getLogger TestService
  • 如何使用引脚和选项卡像 Delphi IDE 一样进行拖动和停靠?

    我想让 拖放 和 停靠 在我的应用程序中像在 Delphi IDE 中一样工作 即能够在对象检查器 结构视图周围拖动并将它们停靠在合适的位置 我在将表单对接到 PageControl 方面取得了相当大的成功 但想知道是否有人知道如何让它与小
  • 如何更改 Hybris 站点地图 XML 中的本地主机 URL

    我正在尝试通过开箱即用的方式为我的 Hybris 站点创建一个 sitemap xml 并复制我的 site impex 中开箱即用商店中给出的 ImpEx 如何更改 Hybris 站点地图 XML 中的本地主机 URL 运行 cronjo
  • 如何在 CDI 中动态创建实例

    假设我有一个汽车课程 在我的代码中我想创建 10 辆汽车 汽车类有一些 Inject带注释的依赖项 做到这一点的最佳方法是什么 CDI 有一个Provider我可以用它来创建汽车的界面 Inject Provider
  • 在 java 中返回多个原始对象。不推荐?

    我刚刚开始学习 Java 的 OOP 编程 我已经用 C 编写过一些程序 而我在 Java 中最怀念的事情之一就是可以返回多个值 确实 C 函数仅严格返回一个变量 但我们可以使用按引用参数返回更多变量 相反 在Java中我们不能做这样的事情
  • 预测误差指标的差距是什么:MAPE 和 WMAPE?

    我知道 MAPE 和 WMAPE 作为预测误差指标 它们有一些好处 但差距是什么 有人说 For MAPE Combinations with very small or zero volumes can cause large skew
  • Treeview——如何滚动直到所选项目位于顶部?

    我正在开发个人文件浏览器应用程序一年 我正在尝试关注我选择的文件夹 例如 如果我说我的默认文件夹是 C Users Me 那么它会自动展开 C 然后是 Users 等等 最后 我选择了 我 文件夹 我没有设法滚动到 自动 这样我就可以在我的
  • 带有异步等待的 chrome.runtime.onMessage 响应

    我想在 onMessage 侦听器中使用异步等待 chrome runtime onMessage addListener async request sender sendResponse gt var key await getKey
  • 简要说明:JDBC 是如何工作的? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 访问对象中的属性[重复]

    这个问题在这里已经有答案了 可能的重复 JavaScript 属性访问 点符号与方括号 https stackoverflow com questions 4968406 javascript property access dot not
  • 如何撤消“git重置”?

    如何撤消该命令 git reset HEAD 简短回答 git reset HEAD 1 长答案 Git 保留所有引用更新的日志 例如 签出 重置 提交 合并 您可以通过输入以下内容来查看它 git reflog 此列表中的某个位置是您丢失