You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置git-log显示所有stash而非仅栈顶的stash@{0}?

如何让git log显示所有Git stash记录

Git的stash本质是一串链式提交,refs/stash默认只指向栈顶的stash@{0},其他历史stash是通过引用日志(reflog)维护的。默认git log --all只会追踪当前引用指向的提交,不会遍历整个stash链,所以只能看到栈顶记录。要显示所有stash,可以用以下方法:

  • 使用--walk-reflogs选项遍历stash完整链
    这个选项会让Git遍历目标引用的所有历史版本,覆盖整个stash栈。执行命令:

    git log --oneline --graph --walk-reflogs refs/stash
    

    如果需要同时查看所有分支和所有stash,结合--all使用:

    git log --oneline --all --graph --walk-reflogs
    
  • 配置全局别名简化操作
    把常用命令设为Git别名,方便后续快速调用:

    git config --global alias.log-all 'log --oneline --all --graph --walk-reflogs'
    

    之后只需输入git log-all,就能看到包含所有stash的提交图谱。

补充说明:Git默认不自动显示所有stash,是因为stash的历史存储在reflog中,而非独立的引用分支。--walk-reflogs的作用就是强制Git遍历每个引用的完整历史记录,从而把所有stash提交都纳入日志展示范围。

内容的提问来源于stack exchange,提问作者Josh Brunton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 15:27:06