digraph { compound = true node [shape = "box", style = "filled, rounded"] nodesep = 0.5 ranksep = 1.5 subgraph clusterorigin { label = "origin" node [color = orchid] omain[label = "main"] } subgraph clusterlocal { label = "local" node [color = orchid] main[label = "main"] } omain -> main [label = "git fetch", style = dotted, ltail = clusterorigin, lhead = clusterlocal] main -> omain [label = "git push"] omain -> main [label = "git pull"] }