2008-09-18 34 views
6

He migrado un par de proyectos de Subversion a git. Funciona muy bien, pero cuando clono mi repositorio, es realmente largo porque tengo toda la historia de una gran cantidad de archivos .jar incluidos en la transferencia.¿Hay alguna forma de purgar algunos archivos del historial de git?

¿Hay alguna forma de mantener solo la última versión de cierto tipo de archivo en mi repositorio principal? Principalmente quiero eliminar una versión anterior en un archivo binario.

Respuesta

5

Puede eliminar las versiones antiguas, ya sea con "git rebase" -i o "git filter-branch"

http://schacon.github.com/git/git-filter-branch.html

http://schacon.github.com/git/git-rebase.html

Otros documentos y tutoriales: http://git-scm.com/documentation

Mantener solo la versión actual de ahora en adelante no es compatible. Su mejor opción es para mantener en control de revisión un pequeño script que descarga (o genera, o genera) el archivo .jar grande.

Como esto modifica el historial, hará que todos los clones o extracciones anteriores de este repositorio no sean válidos.

1

En resumen, esto implicaría reescribir todo el árbol de commit de git para excluir los archivos. ¿Ha intentado usar git gc y git pack para tener git compress su repositorio?

Cuestiones relacionadas