Tenemos un proyecto git que tiene una historia bastante grande.Colapsar la historia de un repositorio git
Específicamente, al inicio del proyecto había bastantes archivos de recursos binarios en el proyecto, estos ya han sido eliminados ya que son efectivamente recursos externos.
Sin embargo, el tamaño de nuestro repositorio es> 200MB (el pago total es actualmente ~ 20MB) debido a que se han comprometido previamente estos archivos.
Lo que nos gustaría hacer es "colapsar" el historial para que el repositorio parezca haber sido creado a partir de una revisión posterior de lo que era. Por ejemplo
1-----2-----3-----4-----+---+---+
\ /
+-----+---+---+
- repositorio creado
- grande conjunto de archivos binarios añadió
- grande conjunto de archivos binarios retira
- Nueva intención de 'inicio' del repositorio
Así que efectivamente nos quiere perder el historial del proyecto antes de cierto punto. En este punto solo hay una rama, por lo que no hay ninguna complicación al tratar de tratar con múltiples puntos de inicio, etc. Sin embargo, no queremos perder todo el historial y comenzar un nuevo repositorio con la versión actual.
¿Es esto posible, o estamos condenados a tener un depósito inflado para siempre?
Bueno y la respuesta completa. – JesperE
Solo tienes que recordar si otros ya han sacado de ese repositorio, reescribir el historial confundirá su extracción. El manual de git-rebase explica cómo recuperar esos otros repositorios. http://www.kernel.org/pub/software/scm/git/docs/git-rebase.html – Otto
¡esta es una gran respuesta para el problema específico del usuario, pero no para la pregunta real! La respuesta de davitenio es una gran respuesta para la pregunta real. –