dot語言是一種使用代碼描述各種圖形關(guān)系的工具,通常需要安裝Graphviz。
有兩種方法使用dot語言:使用Graphviz,使用plantUML。
- 使用Graphviz
Graphviz一般是在linux下面運(yùn)行命令 - 使用plantUML
PlantUml中使用Graphviz/DOT需要以"@startuml"開頭,以"@enduml"結(jié)束。
可以通過在線PlantUml網(wǎng)站來繪制,非常方便,就避免了在linux下輸入命令
PlantUml中使用dot的例子:
@startdot
digraph graph_name {
shape1 [shape=box, label="矩形 "];
shape3 [shape=ellipse, label="橢圓 "];
shape5 [shape="diamond", label="菱形 "];
shape1:s -> shape3
shape3 -> shape5
}
@enddot
下面繪制一個(gè)Gitflow的開發(fā)流程:
@startdot
digraph gitflow_workflow {
"開始" [shape="box"]
"開始" -> "新的Feature還是新的Bug?"
"新的Feature還是新的Bug?" [shape="diamond"]
"新的Feature還是新的Bug?" -> "從dev分支創(chuàng)建Feat-xxx分支" [label = "新Feature"]
"新的Feature還是新的Bug?" -> "從master中fork分支fixbug-xxx" [label = "新bug"]
"從master中fork分支fixbug-xxx" [shape="box"]
"從master中fork分支fixbug-xxx" -> "在分支fixbug-xxx中修改bug" [label=""]
"在分支fixbug-xxx中修改bug" [shape="box"]
"在分支fixbug-xxx中修改bug" -> "分支fixbug-xxx合并到master" [label="bug修改完成"]
"在分支fixbug-xxx中修改bug" -> "分支fixbug-xxx合并到develop" [label="bug修改完成"]
"分支fixbug-xxx合并到master" [shape="box"]
"分支fixbug-xxx合并到master" -> "master分支版本增加" [label=""]
"分支fixbug-xxx合并到develop" [shape="box"]
"分支fixbug-xxx合并到develop" -> "完成"
"master分支版本增加" [shape="box"]
"master分支版本增加" -> "完成"
"完成" [shape="box"]
"從dev分支創(chuàng)建Feat-xxx分支" [shape="box"]
"從dev分支創(chuàng)建Feat-xxx分支" -> "開發(fā)Feat-xxx分支" [label=""]
"開發(fā)Feat-xxx分支" [shape="box"]
"開發(fā)Feat-xxx分支" -> "合并Feat-xxx分支到dev分支" [label="新特點(diǎn)完成"]
"合并Feat-xxx分支到dev分支" [shape="box"]
"合并Feat-xxx分支到dev分支" -> "從dev分支創(chuàng)建release分支"
"從dev分支創(chuàng)建release分支" [shape="box"]
"從dev分支創(chuàng)建release分支" -> "release分支新版本發(fā)布"
"release分支新版本發(fā)布" [shape="box"]
"release分支新版本發(fā)布" -> "release分支合并到master分支"
"release分支新版本發(fā)布" -> "release分支合并到dev分支"
"release分支合并到master分支" [shape="box"]
"release分支合并到master分支" -> "完成"
"release分支合并到dev分支" [shape="box"]
"release分支合并到dev分支" -> "完成"
}
@enddot
結(jié)果是這樣的:image