¿Cómo puedo agrupar confirmaciones en un sistema de control de versiones como git?

8

En lugar de tener un historial de confirmaciones único y largo, ¿por qué no hay una jerarquía, por lo que en el nivel superior podría tener solicitudes de extracción, podría bajar un nivel y ver las confirmaciones en ese RP? Me doy cuenta de que las relaciones públicas son específicas para github, pero entiendes la idea. Solo me refiero a agrupar un número de confirmaciones como una característica o corrección de errores, por ejemplo.

Seguramente haría que el historial de confirmación sea mucho más fácil de navegar.

Estoy seguro de que hay una respuesta obvia a esta pregunta, pero parece que no puedo encontrarla.

    
pregunta eggbert 20.05.2014 - 10:47

3 respuestas

9

Hay un largo historial de confirmación plana porque los cambios son secuenciales. Cada uno se basa en el estado "antes" y deja un estado "después". Sería difícil tener cambios que no reflejen esto.

Una opción para agrupar cambios relacionados es usar etiquetas, enlace , aunque se usan más para etiquetar un punto en la historia en lugar de agrupar compromisos dispares.

Para agrupar los compromisos en otros más grandes, también puede hacer rebases interactivos.

Las ramas son una opción. Puedes crear una rama y hacer un montón de confirmaciones que estén relacionadas lógicamente. Puede combinar esos compromisos de nuevo en el maestro como desee, probablemente utilizando la opción --no-ff .

La relación entre las ramas también se puede ver en herramientas visuales como gitg / gitx

    
respondido por el Michael Durrant 20.05.2014 - 11:57
0

Tuve el mismo problema pensando en esto hasta que descubrí que Git numbers sus sucursales principales. Dado esto, las confusiones de combinación generalmente molestas que se generan can se considerarán nodos de resumen. Y todos los detalles adicionales se pueden eliminar de la vista, dejando un historial lineal único y resumido.

Consulte esta publicación del blog para obtener detalles y ejemplos.

    
respondido por el Daniel Langdon 16.06.2016 - 18:21
0

Usted agrupa las confirmaciones en ramas: cada derivación es un conjunto de confirmaciones. Cuando fusiona confirmaciones, coloca un conjunto de confirmaciones dentro de otra rama, creando efectivamente una jerarquía de confirmaciones: rama principal, características, errores, experimentos, lo que sea.

Idealmente, su rama principal es una sucesión de combinaciones de fusión. Si solo observa a los primeros padres (los comandos de git aceptan tal opción), tendrá una vista de alto nivel de su historial (con suerte, escribe un compromiso de fusión significativo, no el generado automáticamente). Pero cuando observa a los padres de una combinación en su historia, está abriendo la caja para ver qué hay dentro de una combinación. Aquí tienes detalles de lo que pasó.

    
respondido por el coredump 16.06.2016 - 22:54

Lea otras preguntas en las etiquetas