Skip to content

Instantly share code, notes, and snippets.

@michaeldorner
Created January 6, 2022 20:46
Show Gist options
  • Save michaeldorner/ebc6a07ad83ff819d692858f593e0d11 to your computer and use it in GitHub Desktop.
Save michaeldorner/ebc6a07ad83ff819d692858f593e0d11 to your computer and use it in GitHub Desktop.
\documentclass{standalone}
\usepackage{amsmath,amssymb}
\usepackage{charter}
\usepackage[charter]{mathdesign}
%\font\nullfont=cmr10
\usepackage{subcaption}
\usepackage{xcolor}
\usepackage{tikz}
\usepackage{ifthen}
\usetikzlibrary{automata, positioning, arrows, decorations.pathreplacing, calc, chains, shapes.misc, calligraphy}
\pgfdeclarelayer{background}
\pgfsetlayers{background, main}
\begin{document}
\tikzstyle{l}=[draw, circle, minimum size=0.66cm, thick]
\tikzstyle{s}=[draw, circle, minimum size=0.33cm, thick]
\tikzstyle{comment}=[gray!50, fill=gray!50, draw, circle, inner sep=0pt, minimum size=5pt]
\begin{tikzpicture}
\node at (-1, 0) (start) {};
\node[l] at (0, 0) (create_branch) {};
\node[s] at (2, -1) (add_change_1) {};
\node[s] at (3, -1) (add_change_2) {};
\node[s] at (4, -1) (add_change_3) {};
\node[l] at (5.5, -1) (create_r) {};
\node[s] at (7, -1) (add_change_4) {};
\node[s] at (8, -1) (add_change_5) {};
\node[s] at (9, -1) (add_change_6) {};
\node[s] at (8.5, 0) (add_change_main) {};
\node[l] at (10, -1) (rebase) {};
\node[l] at (12, 0) (merge) {};
\node at (13, 0) (end) {};
\path[draw, thick, rounded corners=5pt] (start) -- (create_branch) -| ++ (1,-1) |- (add_change_1);
\path[draw, thick] (add_change_1) -- (add_change_2) -- (add_change_3) -- (create_r) -- (add_change_4) -- (add_change_5) -- (add_change_6) -- (rebase);
\path[draw, thick, rounded corners=5pt, dashed] (add_change_main.south) |- ($(add_change_main.south) !0.5! (rebase.north)$) -| (rebase.north);
\path[draw, thick, rounded corners=5pt] (rebase) -| ++ (1,0) |- (merge) -- (end);
\path[draw, thick] (create_branch) -- (add_change_main) -- (merge);
\node[comment, label={-90:Create change branch}] at (0, -2) (comment_create_branch) {};
\node[comment, label={-90:Add changes}] at (3, -2.5) (comment_add_changes) {};
\node[comment, label={-90:Kick off review}] at (5.5, -2) (comment_create_r) {};
\node[comment, label={-90:Discuss, review, rework}] at (8, -2.5) (comment_review) {};
\node[comment, label={-90:Rebase if needed}] at (10, -2) (comment_rebase) {};
\node[comment, label={-90:Merge changes}] at (12, -1.5) (comment_merge) {};
\node[inner sep=0pt] at (3,-1.5) (add_changes_1) {};
\node[inner sep=0pt] at (8,-1.5) (add_changes_2) {};
\path[draw, thick, gray!50] (comment_create_branch) -- (create_branch);
\path[draw, thick, gray!50] (comment_add_changes) -- (add_change_2);
\path[draw, thick, gray!50] (add_changes_1) -| (add_change_1);
\path[draw, thick, gray!50] (add_changes_1) -| (add_change_3);
\path[draw, thick, gray!50] (comment_create_r) -| (create_r);
\path[draw, thick, gray!50] (comment_review) -- (add_change_5);
\path[draw, thick, gray!50] (add_changes_2) -| (add_change_4);
\path[draw, thick, gray!50] (add_changes_2) -| (add_change_6);
\path[draw, thick, gray!50] (comment_rebase) -| (rebase);
\path[draw, thick, gray!50] (comment_merge) -| (merge);
%\draw[thick, decorate, decoration={mirror, brace, amplitude=5pt}] (2, -1.5) -- (4, -1.5);
\end{tikzpicture}
\end{document}
@michaeldorner
Copy link
Author

cr

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment