Esto es lo que el creador de git Linus tiene que decir sobre cómo reducir su repositorio de git:
El equivalente de "git gc --aggressive" - pero hecho * correctamente * - es hacer (de la noche a la mañana) algo como
git repack -a -d --depth=250 --window=250
donde esa cosa de la profundidad se trata de cuán profundas pueden ser las cadenas delta (hacerlas más largas para la historia antigua, vale la pena el espacio de arriba), y la cosa de la ventana es sobre qué tan grande es la ventana de un objeto que queremos que escanee cada candidato delta.
Y aquí, es posible que desee agregar el indicador "-f" (que es "eliminar todos los deltas antiguos", ya que ahora está tratando de asegurarse de que este realmente encuentre buenos candidatos.
fuente: http://gcc.gnu.org/ml/gcc/2007-12/msg00165.html
¿Esto eliminará los datos binarios que quedan huérfanos en mi repositorio? "git repack" no eliminará imágenes o datos binarios que haya registrado en su repositorio y luego lo haya eliminado. Para eliminar ese tipo de datos permanentemente de su repositorio, debe volver a escribir su historial. Un ejemplo común de eso es cuando accidentalmente ingresas tus contraseñas en git. Puede regresar y eliminar algunos archivos, pero luego tiene que volver a escribir su historial desde entonces hasta ahora y luego forzar el envío y luego el nuevo repositorio a su origen.
git count-objects -v?