Julien Cretel criou o elegantegitdagspacote para gerar facilmente gráficos git educacionais, que estou usando atualmente para criar materiais educacionais e de referência para minha equipe.
Ao discutir a ramificação em algum contexto, gosto de adicionar uma “torção” ao gráfico para reforçar visualmente a ideia de que uma ramificação representa uma linha de desenvolvimento e que outro trabalho pode continuar simultaneamente
Existe uma maneira limpa de dizer ao gitdags/TikZ para compensar um nó verticalmente como este?
Responder1
Não sei se isso conta como "limpador" (e também não conheço o gitdags
pacote), mas enfim:
\documentclass[tikz,border=5]{standalone}
\usepackage{gitdags}
\tikzgraphsset{%
nudge/.style={/tikz/shift={#1}},
nudge down/.style={nudge=(270:#1)},
nudge down/.default=1
}
\begin{document}
\begin{tikzpicture}
\gitDAG[grow right sep = 2em]{
{[nodes=placeholder commits] "..."} -- A -- B -- C --
{[nudge down]
D -- E;
}
};
\end{tikzpicture}
\end{document}
Responder2
Minha solução atual, usada para gerar o gráfico da questão, é criar um nó invisível ao longo do branch master, que força o nó D
para a próxima linha:
\gitDAG[grow right sep = 2em]{
{[nodes=placeholder commits] "..." } -- A -- B -- C -- {
"" [placeholder];
D [>opacity=0.75] -- E;
}
};
O "" [placeholder];
bit cria o nó invisível após C
o ramo mestre; D
representa uma linha paralela de desenvolvimento e, portanto, está alinhada verticalmente com o nó invisível.
Esse truque dá conta do recado, mas parece muito complicado, especialmente porque precisamos redefinir a opacidade da borda quando terminarmos ( [>opacity=0.75]
). Sem essa redefinição, os nós D
e E
serão renderizados, mas suas arestas não.