\documentclass[border=4mm]{standalone}

\usepackage{url}
\usepackage{tikz}
\usepackage{color}
\definecolor{dcolor}{rgb}{0,0,0}
% \definecolor{dcolor}{rgb}{0.68, 0.05, 0.0}
\definecolor{blizzardblue}{rgb}{0.67,0.9,0.93}

\usetikzlibrary{backgrounds}



\begin{document}

\begin{tikzpicture}[draw=dcolor, text=dcolor,background rectangle/.style={fill=white}, show background rectangle]
	\usetikzlibrary{shapes}
	\usetikzlibrary{fit}
	\usetikzlibrary{automata, arrows.meta, positioning}
	\tikzstyle{roundnode}=[ellipse, thin, draw=dcolor, minimum width=20mm, minimum height=20mm, node distance=1.5cm, align=center, auto]
	\tikzstyle{highlight}=[red,ultra thick]
	\tikzset{>=latex}
    \node[roundnode, dashed] (a) {none};

    \node[roundnode, right=of a] (b) {cf04750};
    \node[roundnode, right=of b] (bb) {cf04750};
    \node[roundnode, right=of bb] (bbb) {cf04750};


    \node[roundnode, below=of bb] (bc) {4db5410};
    \draw[->] (bc) edge (bb);


    \node[roundnode, below=of bbb] (bbc) {4db5410};
    \node[roundnode, below=of bbc] (bbd) {1849c76};
    \draw[->] (bbc) edge (bbb);
    \draw[->] (bbd) edge (bbc);
    \node[rectangle,fill=blizzardblue, draw=dcolor, right=.1cm of b, yshift=-1cm] (H) {\scriptsize HEAD};
    \draw[->] (H) edge (b);
    \node[rectangle,fill=blizzardblue, draw=dcolor, right=.1cm of bc, yshift=-1cm] (bH) {\scriptsize HEAD};
    \draw[->] (bH) edge (bc);
    \node[rectangle,fill=blizzardblue, draw=dcolor, right=.1cm of bbd, yshift=-1cm] (bbH) {\scriptsize HEAD};
    \draw[->] (bbH) edge (bbd);

    \draw[->, dashed] (a) edge node[above] {\tiny git commit} (b);
    \draw[->, dashed] (b) edge node[above] {\tiny git commit} (bb);
    \draw[->, dashed] (bb) edge node[above] {\tiny git commit} (bbb);
% * 1849c76 - (4 minutes ago) remove a file - Tobias Manske (HEAD -> master)
% * 4db5410 - (4 minutes ago) Changes some more stuff - Tobias Manske
% * cf04750 - (25 minutes ago) This is our first commit - Tobias Manske

	\end{tikzpicture}

\end{document}
