如果我重置为变更集,假设为HEAD^
,则git log --all
不再显示当前变更集之上的新变更集。有没有办法让它显示出来?
答案 0 :(得分:2)
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添加:
我可以过滤掉Merge和Commit reflogs以外的所有内容吗? 例如,我想摆脱
Checkout
和Updating HEAD
。
我不知道如何在不过滤输出的情况下实现这一目标 Jefromi在评论中同意:
git reflog ... | grep -v 'checkout:\|updating HEAD'
此外,在确定要查看的提交后,您可以正常使用日志:
git log HEAD@{7}
# or
git log <SHA1>