git repack

Administración

Empaqueta objetos sueltos en packfiles


El comando 'git repack' combina objetos sueltos (un archivo por objeto) en packfiles — archivos comprimidos que guardan versiones parecidas como pequeños deltas. Los repositorios empaquetados son mucho más pequeños y rápidos. git gc lo llama por ti; ejecutarlo directamente sirve para ajustes finos.

Sinopsis

git repack [-a] [-d] [-f] [--depth=<n>] [--window=<n>]
[ ] opcional| o<arg> valor a sustituir... repetible--flag opción

Ejemplos

Empaquetar todo y quitar los packs antiguos

git repack -a -d

Un solo packfile ordenado.

Ejemplos de flujos de trabajo

1
git count-objects -v

Número y tamaño de objetos sueltos

2
git repack -a -d

Empaquetar

3
git count-objects -v

Los objetos sueltos desaparecieron

Solución de problemas

Reempaquetar tarda muchísimo

Causa: --aggressive o un --window grande en un repositorio grande

Usa los valores por defecto mediante git gc

Consejos y trampas

Buenas prácticas

  • ✓Prefiere git gc salvo que sepas por qué necesitas opciones de repack.

Preguntas frecuentes

A:

Sí, nunca elimina objetos alcanzables.