Me temo que no pude encontrar nada como este escenario en particular.
Tengo un repositorio git con mucha historia: más de 500 sucursales, más de 500 etiquetas, desde mediados de 2007. Contiene ~ 19,500 confirmaciones. Nos gustaría eliminar todo el historial antes del 1 de enero de 2010, para que sea más pequeño y más fácil de manejar (mantendríamos una copia completa del historial en un repositorio de archivos).
Conozco el commit que quiero que se haya convertido en la raíz del nuevo repositorio. Sin embargo, no puedo encontrar el git mojo correcto para truncar el repositorio para comenzar con ese commit. Estoy adivinando alguna variante de
git filter-branch
implicaría injertos sería necesario; También podría ser necesario tratar cada una de las más de 200 ramas que queremos mantener por separado y luego volver a unir el repositorio (algo que sí sé hacer).
¿Alguien ha hecho algo como esto? Tengo git 1.7.2.3 si eso importa.
git filter-branch --tag-name-filter cat -- --all
para actualizar las etiquetas. Pero también tengo etiquetas más antiguas que apuntan al historial antiguo que quiero eliminar. ¿Cómo puedo deshacerme de todas esas etiquetas viejas? Si no los elimino, el historial anterior no desaparece y aún puedo verlogitk --all
.