如何让“git log”显示比你重置的更新的变更集?

时间:2011-11-27 16:24:06

标签: git

如果我重置为变更集,假设为HEAD^,则git log --all不再显示当前变更集之上的新变更集。有没有办法让它显示出来?

1 个答案:

答案 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以外的所有内容吗?   例如,我想摆脱CheckoutUpdating HEAD

我不知道如何在不过滤输出的情况下实现这一目标 Jefromi在评论中同意:

git reflog ... | grep -v 'checkout:\|updating HEAD'
  

此外,在确定要查看的提交后,您可以正常使用日志:

git log HEAD@{7} 
# or 
git log <SHA1>