Git Graph:分支与合并

Git Graph:分支与合并

puml.online

简介 / 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 可视化,提交会被静默忽略。

  • 标题: Git Graph:分支与合并
  • 作者: puml.online
  • 创建于 : 2026-09-20 09:00:00
  • 更新于 : 2026-09-29 01:06:38
  • 链接: https://puml.online/blog/git-graph-branch-merge/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。