简介 / Introduction
Git Graph 可视化工具帮助开发者理解分支创建、合并冲突与 cherry-pick 操作。PlantUML 和 Mermaid 都支持以文本方式绘制 Git 分支图,适合嵌入文档、README 或博客。本篇使用同一场景(从 main 分叉 feature 分支,多次提交后合并回 main),对比两种引擎的语法与渲染效果。
PlantUML 版
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| @startuml skinparam defaultFontSize 14 gitgraph commit id: "初始提交" branch feature checkout feature commit id: "新功能 A" commit id: "新功能 B" checkout main merge feature id: "合并 feature" branch hotfix checkout hotfix commit id: "紧急修复" checkout main merge hotfix id: "合并 hotfix" @enduml
|
Mermaid 版
1 2 3 4 5 6 7 8 9 10 11
| gitGraph commit id: "初始提交" branch feature commit id: "新功能 A" commit id: "新功能 B" checkout main merge feature id: "合并 feature" branch hotfix commit id: "紧急修复" checkout main merge hotfix id: "合并 hotfix"
|
对比 / Side-by-side
| 特性 |
PlantUML |
Mermaid |
| 声明分支 |
branch <name> |
branch <name> |
| 切换分支 |
checkout <name> |
checkout <name> |
| 提交 |
commit id: "msg" |
commit id: "msg" |
| 合并 |
merge <branch> id: "msg" |
merge <branch> id: "msg" |
| Cherry-pick |
cherrypick id: "xxx" |
不支持 |
| 删除分支 |
delete branch <name> |
不支持 |
| 标签(Tag) |
tag: "v1.0" |
tag: v1.0 |
小结 / Wrap-up
PlantUML gitgraph 语法更完整,支持 cherrypick、delete branch 等高级操作,适合复杂团队工作流文档。Mermaid gitGraph 胜在简洁,嵌入 Markdown 博客时更轻量,但高级特性(cherry-pick、branch 删除)暂未支持。两者均可通过 skinparam / gitGraph 配置调整样式,选择取决于项目需求与渲染环境。
附录:Cherry-pick 示例(仅 PlantUML)
1 2 3 4 5 6 7 8 9 10
| @startuml gitgraph commit id: "初始提交" branch feature checkout feature commit id: "实验性功能" checkout main cherrypick id: "实验性功能" tag: "v1.1" @enduml
|
Mermaid 当前版本不支持 cherry-pick 可视化,提交会被静默忽略。