1873 votes

Jolie branche git graphiques

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?

2324voto

Slipp D. Thompson Points 6293

: 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: git lg1

et git lg2 ressemble à ceci: git lg2

433voto

keo Points 1335

pour le texte de sortie, vous pouvez essayer:

git log --graph --oneline --all

ou voici un graphviz alias pour le dessin de la DAG graphique.

Personnellement, j'utilise gitx, gitk --all et gitnub.

304voto

Wojciech Frącz Points 1050

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);

sample graph generated with Gitgraph.js

Parfaitement ce que j'ai cherché.

142voto

Jubobs Points 1246

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),

enter image description here

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):

enter image description here

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}

86voto

Mechanical snail Points 8589

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:

linux-git

linux-2.6

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X