git log --graph 是查看分支合并历史最直观的方式,用 ASCII 字符绘制分叉、合并与走向,配合 --oneline --all --decorate 可清晰展示所有分支拓扑及引用位置。

Git 的 log --graph 是查看分支合并历史最直观的方式之一,它用 ASCII 字符画出分支的分叉、合并与走向,比纯线性日志更清晰反映团队协作中的并行开发和集成过程。
基础命令:启用图形化日志
运行以下命令即可显示带分支图的日志:
-
git log --graph --oneline --all:最常用组合,--graph绘图,--oneline简洁提交信息,--all展示所有分支(含远程) - 加上
--decorate可标出分支名、tag 和 HEAD 位置,例如:git log --graph --oneline --all --decorate - 想看完整提交信息(作者、时间、正文),可替换
--oneline为--pretty=medium或自定义格式
提升可读性:添加颜色与缩进
默认图形较紧凑,容易混淆。推荐加入这些选项让结构更分明:
-
--color=always:强制启用颜色(终端支持时自动高亮不同分支) -
--simplify-by-decoration:只显示有分支/标签指向的提交,跳过中间“无名”提交,大幅减少干扰 -
--date=short和--format="%h %ad %d %s":定制列格式,兼顾时间、引用和摘要
整合示例:git log --graph --color=always --oneline --all --decorate --simplify-by-decoration --date=short
使用 `gh` CLI 与 GitHub 交互。通过`gh issue`、`gh pr`、`gh run` 和 `gh api` 管理 issue、PR、CI 运行以及高级查询。
配合别名,一键调用
避免每次敲长命令,可在 Git 配置中设置别名:
- 执行:
git config --global alias.lg "log --graph --color=always --oneline --all --decorate --simplify-by-decoration" - 之后只需输入
git lg就能快速打开可视化视图 - 如需进一步过滤(如只看某分支),可追加
origin/main或feature/login等 ref 名
常见图形含义速查
理解符号是读懂图的关键:
-
*:普通提交节点 -
|:父提交连线(垂直方向延续) -
/或\:分支分叉或合并时的斜向连接线 -
|\或|/:典型合并提交(两个父提交),上方是当前分支,下方是被合并进来的分支 - 多条竖线并排出现,通常表示多个分支并行开发;交汇点即 merge commit
如果看到大量“孤线”或断开连接,可能是用了 --no-merges 或未加 --all,导致部分分支未纳入视图。

















