我如何获取硬重置操作后提交的完整信息?
可以使用 git reflog
来完成此操作,但是是否还有其他方法?
我如何获取硬重置操作后提交的完整信息?
可以使用 git reflog
来完成此操作,但是是否还有其他方法?
你可以使用git log -g
来遍历你以前的HEAD,但它不会提供关于HEAD为什么移动的信息。
你可以直接从.git/logs/HEAD
读取日志。这不会比git reflog
显示的内容多,但更容易开发工具来查找重置的ID。
git reflog
将按顺序显示所有以前的HEAD(你检出过的提交),并说明HEAD移动的原因。git reflog
使用与git log
相同的选项。例如,你可以使用git reflog --pretty=medium
获得更多上下文信息,以查看完整的提交消息。然而,可能更容易从git reflog
中获取提交ID,然后使用git log <该ID>
获取提交消息。
重置应该很容易被发现。例如,这是一个git reset --hard HEAD^1
。
70cc722 (HEAD -> master) HEAD@{0}: reset: moving to HEAD^1
5cbd5ea HEAD@{1}: reset: moving to HEAD
git checkout 5cbd5ea
。 - questionto42git log 5cbd5ea
。 - Schwerngit log -g
回溯时间间接地表达了。我之前没有想到会这么容易,很好。 - questionto42