首页/开发/Git 与协作速查/git log 图形化速览组合
Git 基础与命令88 条

git log 图形化速览组合

--oneline --graph --decorate --all 组合成分支拓扑视图:一行一条提交,显示引用名与分叉合并关系。

Git 与协作速查开发更新于 2026-10-13

git log 的图形化速览是什么

把 --oneline、--graph、--decorate、--all 组合起来,可以得到一张一屏可见的分支拓扑图:每条提交占一行,左侧用符号画出分叉与合并,右侧标出引用名(分支、标签、远端跟踪分支)。它是巡检分支走向最快的查看方式。

图形符号怎么读

左侧的星号表示一次提交,竖线表示这条分支线还在延续,斜杠与反斜杠表示某条分支从这里分出或并入。--decorate 让分支名与标签直接出现在对应提交旁边,--all 把本地与远端全部分支都纳入,一屏之内就能看清谁领先谁、谁已经被合入。

基本信息

适用平台Linux / macOS / Windows(Git 2.x)
语法git log --oneline --graph --decorate --all [-N]
关键参数--graph 画拓扑;--decorate 显示引用;--all 全部分支
输出解读星号是提交,竖线延续,斜线表示分支连接
限流建议配 -20 之类的条数限制,避免输出过长
常见别名alias.lg 常指向这套组合

典型使用场景

  • 巡检分支:一眼看清主干与各分支的分叉关系
  • 合并前评估:判断某条分支是否已经包含主干的改动
  • 定位提交:结合引用名找出某个提交落在哪条分支上
  • 评审准备:整理提交前先看整体形态,确认没混入无关提交
  • 日常速查:配成别名高频使用,替代逐条 log 查看

常用示例

常用示例
git log --oneline --graph --decorate --all -20   # 全分支拓扑,限 20 条
git log --oneline --graph --decorate -10         # 只看当前分支
git config --global alias.lg 'log --oneline --graph --decorate --all'
git lg -30                                       # 用别名查看
git fetch --prune                                # 先清理失效引用再看

左侧符号的含义

符号含义说明
星号一次提交每行的起点标记
竖线分支线延续同一分支上的后续提交
斜线组合分支分出或并入合并点附近常见的形态
括号内的名字引用名与指向分支、标签、远端跟踪分支
配置成别名 lg 之后,日常巡检一屏就能掌握分支走向,比逐个分支执行 git log 高效得多。
--all 包含远端跟踪分支。远端已删除的分支如果没做 prune 仍然会出现,查看前先执行 git fetch --prune。

易错点

  • --all 包含远端跟踪分支,远端已删除的分支若没 prune 仍会出现,先 fetch --prune
  • 不加条数限制时长历史会把终端刷屏,用 -20 之类的参数限制输出
  • 超宽输出在窄终端里会折行,拓扑图的对应关系就看不准了
  • 只看图形不看提交信息容易误判改动内容,必要时配合 --stat 或 git show

数据来源与参考

  • Git 官方文档:git-log(--graph/--decorate)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌