Comment comprendre git log -- graph

je suis assez confus avec la sortie du journal de git graphique.

je ne comprends que chaque * signifie une propagation, qu'il s'agisse d'une propagation de divergence, commune ou de fusion. Je comprends que pipes signifie branche.

regardons un simple graphique log:

enter image description here

tout d'abord, quelle branche représente le tuyau rouge (le plus gaucher)? Je ne pense pas que ce soit la branche actuelle que je suis sur, parce qu'après que j'ai autre branche, le graphique semble le même. De plus, il ne représente pas master branch non plus.

Deuxièmement, si la plupart des gauchers branche représente une seule branche, pourquoi il change de couleur après commit "0e5b5"?

j'ai cherché un tutoriel sur la façon de lire git log graphiques, malheureusement, je n'ai rien. S'il ya quelques tutoriels impressionnants sur ce sujet, s'il vous plaît n'hésitez pas à partager.

17
demandé sur David Liu 2013-11-25 22:13:15

1 réponses

git travaille à partir de la Commission actuelle en regardant les ancêtres. Les succursales ne sont pas des" entités", ce sont des références (mobiles). Il n'y a aucun moyen pour git log (ou gitk qui a un schéma de couleur différent mais qui est analogue à git log --graph ou tig) de savoir si la branche courante est la descendante de la branche A ou de la branche B. Elle ne connaît que les parents. De l'homme git log:

   git log -p -m --first-parent
       Shows the history including change diffs, but only from the "main 
       branch"   perspective, skipping commits that come from merged
       branches, and showing full diffs of changes introduced by the merges. 
       This makes sense only when following a strict policy of merging
       all topic branches when staying on a single integration branch.