Remover / ocultar ramificações git sem excluir históricos de confirmação

Situação:

Eu tenho um repositório principal com um ramo principal do desenvolvedor e muitos ramos "experimentais" brotando dele (por exemplo,exp1 eexp2) O objetivo dessas ramificações da experiência é servir como espaços reservados para experiências que geram resultados numéricos. Gravo o nome da ramificação (e confirme o ID) das ramificações da experiência para poder retornar às confirmações para ver com precisão o código e o histórico por trás dos resultados.

Mas agora existem tantos ramos de experimentos que fica difícil ver a árvore principal. Então, estou repensando minha estratégia para manter os espaços reservados no código por trás de cada conjunto de resultados (ou seja, cada experimento). Obviamente, eu poderia salvar o diretório de trabalho em cada filial, mas seria bom manter o histórico de consolidação também.

Solução possível:

Uma maneira de lidar com isso é mover as ramificações do experimento para seus próprios repositórios independentes, cada uma sendo enraizada no nó filho do nó apropriado no histórico de consolidação do ramo dev. Aqui está uma ilustração do que quero dizer:

Cliqueaqui para versão maior da imagem (em imgur.com).

Então, por exemplo, para branchexp1, Gostaria de exportar confirmaçõesA->B->C para um repositório separado com raiz em commitA. Então, eu posso gravar o hash de commitP1 para que eu saiba onde oexp1 ramo desceu.

Pergunta, questão:

Como eu posso fazer isso?

Melhor pergunta:

Por outro lado, eu suspeito fortemente que exista uma estratégia muito melhor para fazer o que eu quero fazer - ou seja, desorganizar a árvore para inspeção visual, mas manter os espaços reservados nos galhos anteriores para que eu possa retornar a eles, se necessário. Então, alguém pode recomendar uma estratégia para isso?

questionAnswers(1)

yourAnswerToTheQuestion