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

Haz clic en una opción para desplegarla

Principiante (3)

Escribe el archivo en este fichero; el formato se deduce de su extensión.

RecomendadoEscribir el archivo comprimido en un fichero

Ejemplo

git archive -o shop.zip HEAD

Pone cada archivo dentro de esta carpeta en el archivo (termina con /).

RecomendadoDescomprimir en una sola carpeta ordenada

Ejemplo

git archive --prefix=shop-1.0/ -o shop.tar.gz v1.0

Lista los formatos disponibles.

Cuando haga faltaVer los formatos admitidos

Ejemplo

git archive --list

Elegir la opción adecuada

archive frente a bundle

¿Archivos o historial?

ComandoContieneUso
git archiveLos archivos de un commitDescargas, despliegues
git bundleCommits y ramasMover un repositorio sin conexión

Ejemplos

Comprimir una versión en zip

git archive -o shop-1.0.zip v1.0

Los archivos de v1.0 en un zip.


Tar con una carpeta

git archive --prefix=shop/ -o shop.tar.gz HEAD

Todo 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.0

Exportarla

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.