J'ai vu quelques livres et articles ont certains vraiment très jolie, à la recherche des graphiques de branches git et s'engage. Est-il un outil qui peut rendre imprimable de haute qualité, des images de l'historique de git?
Réponses
Trop de publicités?2¢: j'ai deux alias j'ai l'habitude de jeter dans mon ~/.gitconfig
le fichier:
[alias]
lg1 = log --graph --abbrev-commit --decorate --date=relative --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all
lg2 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n'' %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' --all
lg = !"git lg1"
git lg
/git lg1
ressemble à ceci:
et git lg2
ressemble à ceci:
Gitgraph.js - pas encore mentionné - il permet de dessiner de jolies branches git sans un référentiel. Il suffit d'écrire un code Javascript qui permettra de configurer vos branches et s'engage et le rendu dans le navigateur.
var gitGraph = new GitGraph({
template: "blackarrow",
mode: "compact",
orientation: "horizontal"
});
var master = gitGraph.branch("master").commit().commit();
var develop = gitGraph.branch("develop").commit();
master.commit();
develop.commit().commit();
develop.merge(master);
Parfaitement ce que j'ai cherché.
Avec TikZ & PGF, un package pour le LaTeX et amis, vous pouvez produire de jolies vecteur graphiques des diagrammes qui sont parfaits, pas de dessin de l'ensemble de l'histoire d'une mise en pension, mais pour des fins éducatives.
Comme un exemple, voir la suite de DAG (produit avec TikZ),
qui a été inspiré par l'un des graphiques à partir de 3.6 Git ramification - année de référence (dans le Pro Git livre):
Pour la concision, le code ci-dessous est incomplète, mais qui devrait vous donner une idée de la syntaxe ressemble.
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{graphs}
%...
\begin{tikzpicture}
\graph{
c1 -- {
{c5 -- c4'},
{c4 -- c6},
{c2 -- c3 -- c7 -- c8},
},
c5 -- c6 -- c7,
c4' -- c8,
};
%...
\end{tikzpicture}
\end{document}
Gitg est un clone de Gitk et GitX pour GNOME (il travaille également sur KDE, etc.) ce qui montre une jolie couleur graphique.
Il est activement développé (comme en 2012). Il permet de trier les commits (noeuds d'un graphe) soit chronologique ou topologiquement, et de masquer les commits qui ne conduisent pas à une branche sélectionnée.
Il fonctionne très bien avec les grands référentiels et complexe des graphes de dépendance.
Exemple de captures d'écran, montrant le linux, git et linux-2.6 dépôts: