idea中git误操作撤回git reset --hard ‘HEAD@{1}‘

文章目录


前言

当在idea中不小心合并了不应该合并的其他分支,或想要撤回commit时,就可以以下使用

git reset --hard 'HEAD@{1}'

场景

刚做完 merge,还没做任何别的 git 操作(没有 commit、checkout、reset)

这时 reflog 还保留这条记录,HEAD@{1} 就是 merge 之前的 master 节点,执行git reset --hard HEAD@{1} 能完美撤销本次本地合并。

如本地分支合并其他的分支,当本地没 push 到远程 master 的场景:可以使用 ,如果已经 push 到远程 master:不要使用,执行了也不能强推!

HEAD@{1} 是什么

HEAD@{1} = reflog 里上一次 HEAD 所在位置 ,也就是执行 merge 操作之前 master 的位置。

执行:git merge xx → HEAD 跳到 merge 提交;HEAD@{1} 就是 merge 前的那个 commit。


相关推荐
你的保护色1 小时前
多AS互联BGP4综合实验设计
java
某不知名網友1 小时前
ROS2进阶:服务通信、自定义SRV接口、参数服务器与基于服务的参数通信详解
java·开发语言·microsoft
Wang's Blog1 小时前
Java 项目实战: 交友项目 - MongoDB 入门:体系结构和命令行操作
java·mongodb·交友
小溪学编程1 小时前
将 Bean 放入 Spring 容器中的方式有哪些?
java·后端·spring
java_nnnn2 小时前
LeetCode刷题滑动窗口(水果成篮+找到字符串中所有字母的异位词)Java
java·开发语言·leetcode
用户3721574261352 小时前
Java 读取、修改和清空 PDF 文档属性(元数据)
java
SL_staff2 小时前
从‘改一行代码等三天’到‘改完即生效’:实施工程师的逻辑引擎避坑手记
java·产品·全栈
小羊没烦恼!2 小时前
异步编程:线程概述及使用
java·开发语言·mysql·算法·c#
hhwyqwqhhwy2 小时前
设备树之 provider 和 consumer
java·linux·前端