¿Cómo funciona `git log –all –graph` get el patrón de twig

git log --all --graph muestra mis confirmaciones y dibuja un gráfico de twig además de ellos.

Pero si miro la información sin procesar publicada por el command de git log , el nombre de la twig solo está disponible para la última confirmación en cada twig (la sugerencia de la twig).

Las twigs que he fusionado y eliminado en el pasado ni siquiera aparecen como nombres (no tienen un consejo activo), pero el gráfico las representa correctamente.

¿Cómo recupera git esta información y cómo puedo get la misma información parsing el resultado de algún command de git? (Es decir: ¿Qué command git produce la información necesaria?)

Todo lo que necesita para dibujar ese gráfico son los padres para cada compromiso. Si un commit tiene más de un padre, se trata de un commit de fusión.

Puedes ver esta información con un simple git log . Si una confirmación es una fusión, verá una línea Merge: 0123456 9abcdef . Alternativamente, puede usar git log --parents . Luego, la línea Commit: incluye el hash de commit así como los hashes de todos los padres.