pretty - git shortlog
Cómo entender git log--graph (1)
Estoy bastante confundido con la salida del registro de git gráfico.
Entiendo que cada *
significa un compromiso, ya sea un compromiso de divergencia, común o de fusión. Entiendo que las tuberías significa rama.
Veamos un registro gráfico simple:
En primer lugar, ¿para qué rama representa el tubo rojo (el más zurdo)? No creo que sea la rama actual en la que estoy, porque después de realizar el pago en otra rama, el gráfico tiene el mismo aspecto. Además, tampoco representa la rama maestra.
En segundo lugar, si la rama más zurda representa una sola rama, ¿por qué cambia de color después de cometer "0e5b5"?
Busqué un tutorial sobre cómo leer los gráficos de registro de git, desafortunadamente, no tengo nada. Si hay algunos tutoriales increíbles sobre este tema, no dude en compartirlos.
Git trabaja desde el compromiso actual mirando a los antepasados. Las ramas no son "entidades", son referencias (en movimiento). No hay forma de que git log (o gitk, que tiene un esquema de color diferente pero es análogo a git log --graph o tig), sepa si la rama actual es el descendiente de la rama A o la rama B. Solo conoce a los padres. De man 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.
Dirigiría algo su preocupación. el registro de git de forma predeterminada usa la confirmación de salida actual como una referencia (idéntica a la ejecución git log HEAD
Mientras que personalmente creo que la página de manual es bastante clara para git, es posible que desee echar un vistazo a gitk o tig. La primera es una interfaz gráfica, la última es una herramienta gitk mínima similar a un terminal. Uso ambos dependiendo de lo que quiera hacer.