如何撤消“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重置”? 的相关文章

  • 克隆存储库而不将其设为原始远程存储库

    我正在从一台将被擦除的计算机上克隆一个 git 存储库 是否可以在不创建原始存储库的情况下克隆存储库origin master 或者我是否需要克隆它 然后删除远程分支 这是通过git remote rm origin Edit 存储库只有一
  • Git 子模块:[电子邮件受保护]:权限被拒绝(公钥)。致命:无法从远程存储库读取

    我有一个问题git submodule update init remote 我收到错误 权限被拒绝和克隆失败 但我将 SSH 密钥添加到了我的 github 存储库中 我可以拉 推 git 克隆 我拥有所有需要的访问权限 我使用操作系统
  • 具有单独 work_tree 的 Git 子模块

    我按照本页上的教程使通过 Git 部署我的网站变得简单 http toroid org ams git website howto http toroid org ams git website howto 到目前为止一切都很好 但是我最近
  • vscode通过SSH连接gitlab的问题

    我在尝试通过 SSH 连接到 GitLab 远程存储库时遇到问题 这里是迄今为止完成的步骤 成功生成 SSH 密钥 管理人员将密钥添加到存储库中 因此当我访问 GitLab 网站时 我可以提交和发布分支 我无法从 VSCODE 发布分支并收
  • 使用 TFS 个人访问令牌克隆 Git 存储库

    我正在尝试以编程方式克隆 git 存储库 我的 ASP NET MVC 应用程序正在创建并启动一个进程 处理进程的代码工作正常 但是当尝试使用本地 TFS PAT 克隆 git 存储库时 身份验证失败 我无法使用 NTLM 或要求用户输入凭
  • DVCS命令的统一

    当处理多个 开源 项目时 多个版本控制系统开始出现问题 虽然它们共享共同的操作 但我经常在输入时犯错误hg add反而git add 我记得前段时间看到过一个项目 通过提供基本命令以统一的方式访问不同的源代码控制软件提交 ci add等在外
  • 无法使用 git 配置文件进行 ssh

    我知道它被问了很多次 但我无法得到我的问题的答案 我正在尝试使用配置文件 ssh 到系统 配置文件是 Host qa HostName 10 218 70 345 User user IdentityFile C Users bean ss
  • 重新打包存储库对于大型二进制文件有用吗?

    我正在尝试将大量历史记录从 Perforce 转换为 Git 并且一个文件夹 现在是 git 分支 包含大量大型二进制文件 我的问题是运行时内存不足git gc aggressive 我的主要问题是重新打包存储库是否可能对大型二进制文件产生
  • IntelliJ:查看本地和 git 提交/分支之间所有已更改文件的差异

    使用 IntelliJ 的 diff 查看器是检查代码的一种非常好的方法 因为您可以使用 IntelliJ 代码编辑器的所有功能 重构 完成等 在本地版本中进行更改 不幸的是 我还没有弄清楚当你在 IntelliJ 中进行代码审查时如何做最
  • 如何解决 VSTS 中拉取请求中的合并冲突?

    我已经创建了拉取请求 我进入了这个 批准 按钮不执行任何操作 并且 完成 被禁用 如何解决拉取请求中的冲突 Update 微软刚刚添加了基于浏览器的合并 这可能会让你摆脱小冲突的困境 并提供自 Sprint 150 起改进了不同场景的可视化
  • git diff - 只显示哪些目录发生了变化

    有没有办法只列出已更改的目录 如果我在 git root 的话 project 我更改的文件是 project subtool file1 project subtool file2 project subtool3 file1 我只是想
  • git push heroku master 权限被拒绝

    我正在关注 ruby railstutorial 我运行命令 git push heroku master 它吐出了这个错误 Permission denied publickey fatal Could not read from rem
  • Git:显示分支之间的差异,忽略合并的提交

    我的存储库历史记录看起来像这样 x y z branch a b c d e master 我想获得 branch 完整历史记录的单个差异 即 像 git diff 输出 我不想要像 git log p 产生的一大堆差异 而不包括任何从 m
  • 有没有办法让 git flow 显示它在幕后执行的命令?

    有什么方法可以让 git flow 提前告诉我当我执行 flow 命令时它将执行的确切 git 命令吗 或者告诉我它是东吗 我只能看到输出和摘要吗 你可以使用Git的GIT TRACE 环境变量 http git scm com docs
  • git 匹配多个单词的标签

    我们可以得到最后一个 git 标签 它以一个单词 例如 TEST 开头 如下所示 git describe tag dirty match TEST 我想知道如何获得最后一个以 word1 开头的标签orword2 例如测试OR跑步 我尝试
  • 格里特:! [远程拒绝] HEAD -> refs/publish/master (没有新的更改)

    我做了一些更改 提交了它们并将分支推送到 Gerrit git push gerrit 现在我的更改没有出现在 Gerrit 中 我认为这是因为我手动推送更改而不是使用git 审查 https github com openstack in
  • git 别名中的 AWK 语句

    我正在尝试创建一个 git 别名来以特定格式打印日志中的所有拉取请求 但是 我在使用 AWK 删除双空格时遇到问题 这是使用以下命令的 git log 的输出 git log merges grep pull request pretty
  • Ansible bitbucket 克隆存储库配置 ssh 错误

    我之前发布过这个问题 但那里的答案不再有效 总之 当使用 Ansible 配置我的 vagrant box 时 在尝试使用 ssh 克隆我的 bitbucket 私有存储库时 我遇到了一个神秘的错误 该错误指出 权限被拒绝 公钥 然而 如果
  • VS 2015 + Bower:在防火墙后面不起作用

    Problem 在 Visual Studio 2015 中 使用 Bower 我的包在防火墙后面时恢复失败 并出现类似以下内容的错误 ECMDERR 无法执行 git ls remote tags heads git github com
  • 在 Windows 7 上的 Sourcetree 中比较 Word docx 文件

    我一直在尝试获取在 Windows 7 上的 Sourcetree 中工作的 Word docx 文件的文本差异 我已按照此处的说明进行操作将 Microsoft Word 与 git 结合使用 http blog martinfenner

随机推荐

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

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 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 此列表中的某个位置是您丢失