tipos tag qué existen etiquetas crear git branch git-branch

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

Una captura de pantalla de gitk que muestra varias fusiones y ramas http://mythic-beasts.com/~mark/gitk-screenshot.png

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