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。