如何使“git log”显示比你重置的地方更新的变更集?
答
git reflog
在重置之前,应显示之前由HEAD引用的提交。
(git reflog
, your safety net)
将“Undoing a git reset --hard HEAD~1”作为具体示例。
您也可以尝试,单独git log
,该-g
选项:
-g, --walk-reflogs
代步提交祖先链,走引用日志条目从最新的内容向旧的
后所有,git reflog
可以由git log -g --oneline
完成。
git log --walk-reflogs master # show reflog entries for master
的OP rFactor补充说:
我可以过滤掉一切,除了合并和提交reflogs?例如,我想摆脱
Checkout
和Updating HEAD
。
我不明白如何在不过滤输出的情况下实现这一目标。
Jefromi赞同这一意见:
git reflog ... | grep -v 'checkout:\|updating HEAD'
而且你搞清楚之后,你希望看到什么承诺,你就可以使用正常登录:
git log [email protected]{7}
# or
git log <SHA1>
有没有一种方法可以让我强制'git log'来显示它? – Tower
@rFactor:我已经更新了关于'git log'的答案。 – VonC
有趣。还有一件事,我可以过滤除合并和提交reflogs之外的所有内容吗?例如,我想摆脱Checkout和更新HEAD。 – Tower