如何找到指定合并提交前分支上的最后一次提交
找到合并前develop分支的最后一次提交
别担心,我来帮你搞定这个问题!你遇到的HEAD@{1}报错,主要是Git for Windows的CMD环境对@符号的解析问题,而且这个方法依赖于reflog的记录,并不是最可靠的方式。咱们换个更直接的思路:
合并提交本身就包含两个父节点——第一个父节点就是合并发生前develop分支的最后一次提交,第二个父节点则是被合并进来的那个分支的最后一次提交。
具体操作步骤:
首先,确认合并提交
92dd09b的父节点,执行命令:git show 92dd09b --pretty=format:"%P"这个命令会输出两个提交哈希,第一个哈希就是你要找的合并前
develop的最后一次提交。如果你想直接查看这个提交的详情,或者检出它,可以用以下命令:
# 查看该提交的简要信息 git log 92dd09b^1 -1 # 检出该提交 git checkout 92dd09b^1这里的
^1表示取合并提交的第一个父节点,也可以用~1,效果是完全一样的。
关于HEAD@{1}报错的补充说明:
如果你非要用reflog的方式,需要注意在Git for Windows的CMD中,@是特殊字符,必须用引号把参数括起来,比如:
git log "HEAD@{1}" -1
但这个方法有个前提:你必须是**刚从develop分支切换到合并提交92dd09b**的,否则reflog里的HEAD@{1}可能指向的不是你想要的记录。相比之下,直接利用合并提交父节点的方法更稳定可靠,不受操作时间的限制。
内容的提问来源于stack exchange,提问作者bopapa_1979
相关产品推荐
相关产品推荐

