Receio não ter encontrado nada parecido com esse cenário em particular.
Eu tenho um repositório git com muito histórico: mais de 500 ramos, mais de 500 tags, desde meados de 2007. Ele contém ~ 19.500 confirmações. Gostaríamos de remover todo o histórico antes de 1º de janeiro de 2010, para torná-lo menor e mais fácil de lidar (manteríamos uma cópia completa do histórico em um repositório de archive).
Conheço o commit que quero que tenha se tornado a raiz do novo repositório. No entanto, não consigo descobrir o git mojo correto para truncar o repositório e começar com esse commit. Eu estou supondo que alguma variante de
git filter-branch
seria necessário envolver enxertos; ele também pode ser necessária para tratar cada um dos mais de 200 filiais queremos manter separadamente e depois corrigir o repo de volta juntos (algo que eu não sei como fazer).
Alguém já fez algo assim? Eu tenho o git 1.7.2.3, se isso importa.
git filter-branch --tag-name-filter cat -- --all
para atualizar as tags. Mas também tenho tags mais antigas apontando para o histórico antigo que desejo excluir. Como posso me livrar de todas essas tags antigas? Se eu não excluí-los, o histórico mais antigo não desaparece e ainda posso vê-logitk --all
.