git获取主分支merge之前的commit | fast-forward merge的情况下找回merge之前的commit

fast-forward merge是不生成任何的commit的,有时候在merge dev分支到main分支,结果merge之后忘记了却不知道上一个版本的main是运行在哪个commit下的。

读取reflog
git reflog | grep merge

yagam@express MINGW64 /d/github/git_test (master)
$ git reflog | grep merge
97f1e1c HEAD@{2}: merge feature-10: Fast-forward
9ffda27 HEAD@{23}: merge master: Fast-forward
15ed3c6 HEAD@{46}: merge hot-fix: Fast-forward
f2b4df2 HEAD@{57}: merge hot-fix: Fast-forward

找到 Fast-forward的记录

HEAD@{2}

那么早到上一个 HEAD@{3}

git show HEAD@{3}

返回的结果:

commit ea93e1b660202bf1d03714508c305fbb957490ef (origin/master, origin/HEAD)
Author: xxxxxx <xxxxxx@gmail.com>
Date:   Wed Jun 18 15:58:09 2025 +0800

    master 6

diff --git a/master-6.txt b/master-6.txt
new file mode 100644
index 0000000..62f9457
--- /dev/null
+++ b/master-6.txt
@@ -0,0 +1 @@
+6
\ No newline at end of file

最后这个ea93e1b是merge之前main所在的commit。checkout过去就行了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值