qué - git tag
Relación entre n ramas de git (2)
Si tengo n ramas de git, ¿cómo puedo mostrar fácilmente la relación entre estas ramas?
Básicamente estoy interesado en ver un árbol de un subconjunto de todas las ramas en mi repositorio. Sin embargo, no estoy interesado en todos los compromisos intermedios.
Ej: Mi repositorio se ve así:
o---o--o A
/ /
o--o--o--o--o--o B
/ / /
/ o--o C /
/ / /
o--o--o--o--o--o D
Pero probablemente sea mucho más complicado. Ahora quiero ver la relación entre las ramas A, C y D. Algo en la línea de:
o A
/
o--o--o
/ /
o---o C
/
o--o D
O un resumen equivalente. ¿Es esto posible, y cómo? (Una herramienta gráfica estará bien).
Solución
Según la respuesta de Antoine Pelisses, la siguiente línea parece hacer (casi) exactamente lo que quiero:
git log --graph --decorate --oneline --simplify-by-decoration A B C
Actualizar
Mark Longair señala en su respuesta a continuación que gitk
acepta los mismos parámetros que git rev-list
, por lo que es posible hacerlo:
gitk --simplify-by-decoration A C D
Puedes intentarlo:
git log --graph --all --decorate --simplify-by-decoration
Solo mostrará confirmaciones que sean encabezados de rama o etiquetados.
Yo usaría:
gitk A C D
... probablemente hay otras GUIs de git que producen una representación más bonita del gráfico de confirmación, pero siempre he encontrado que gitk
bien para este propósito. Todas las ramas y etiquetas están etiquetadas en la representación de estilo "London Underground":
También puede usar la --simplify-by-decoration
para gitk
, ya que entiende todos los parámetros que hace git rev-list
, por ejemplo:
gitk --simplify-by-decoration A C D