git archive
Administración
Exporta los archivos de un commit como archivo zip o tar
El comando 'git archive' escribe los archivos de un commit, tag o rama en un archivo zip o tar — sin el historial y sin la carpeta .git. Es la forma estándar de publicar una versión para descargar. El formato sigue la extensión del archivo de salida, y --prefix pone todos los archivos dentro de una carpeta.
Sinopsis
git archive [--format=<fmt>] [--list] [--prefix=<prefix>/] [-o <file>] <tree-ish> [<path>...][ ] opcional| o<arg> valor a sustituir... repetible--flag opción
Opciones
Elegir la opción adecuada
archive frente a bundle
¿Archivos o historial?
| Comando | Contiene | Uso |
|---|---|---|
git archive | Los archivos de un commit | Descargas, despliegues |
git bundle | Commits y ramas | Mover un repositorio sin conexión |
Ejemplos
Comprimir una versión en zip
git archive -o shop-1.0.zip v1.0Los archivos de v1.0 en un zip.
Tar con una carpeta
git archive --prefix=shop/ -o shop.tar.gz HEADTodo dentro de shop/.
Solo una carpeta
git archive -o docs.zip HEAD docs/Solo la carpeta docs.
Ejemplos de flujos de trabajo
1
git tag -a v1.0 -m "Release"Etiquetarla
2
git archive --prefix=shop-1.0/ -o shop-1.0.zip v1.0Exportarla
Solución de problemas
Faltan algunos archivos
Causa: Los archivos sin seguimiento o ignorados nunca se archivan
Confírmalos, o revisa las reglas export-ignore de .gitattributes
Consejos y trampas
Buenas prácticas
- ✓Archiva tags, no ramas, para que la descarga coincida con la versión.
Errores comunes
- ✗Esperar historial en el archivo — usa git bundle para mover historial.
- ✗Olvidar -o y llenar la terminal de datos binarios.
Preguntas frecuentes
A:
Sí: márcalos export-ignore en .gitattributes.