Eliminar / ocultar ramas git sin eliminar historiales de confirmación

Situación:

Tengo un repositorio principal con una rama de desarrollo principal y muchas ramas de "experimento" que brotan de él (por ejemplo,exp1 yexp2) El propósito de estas ramas experimentales es servir como marcadores de posición para experimentos que generan resultados numéricos. Grabo el nombre de la rama (y el ID de confirmación) de las ramas del experimento para poder volver a las confirmaciones para ver con precisión el código y el historial detrás de los resultados.

Pero, ahora, hay tantas ramas experimentales que es difícil ver el árbol principal. Entonces, estoy repensando mi estrategia para mantener los marcadores de posición en el código detrás de cada conjunto de resultados (es decir, cada experimento). Obviamente, podría guardar el directorio de trabajo en cada rama, pero sería bueno mantener el historial de confirmación también.

Solución posible:

Una forma de lidiar con esto es mover las ramas del experimento a sus propios repositorios independientes, cada uno enraizado en el nodo hijo del nodo apropiado en el historial de confirmación de la rama de desarrollo. Aquí hay una ilustración de lo que quiero decir:

Hacer clicaquí para una versión más grande de la imagen (en imgur.com).

Entonces, por ejemplo, para sucursalexp1, Me gustaría exportar confirmacionesA->B->C a un repositorio separado enraizado en commitA. Entonces, solo puedo grabar el hash de commitP1 para que sepa dóndeexp1 rama descendiente de.

Pregunta:

¿Cómo puedo hacer eso?

Mejor pregunta:

Por otro lado, sospecho firmemente que existe una estrategia mucho mejor para hacer lo que quiero hacer, a saber, despejar el árbol para la inspección visual pero mantener los marcadores de posición en las ramas anteriores para que pueda volver a ellos si es necesario. Entonces, ¿alguien puede recomendar una estrategia para esto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta