git archive y para qué se usa?
git archive genera un archivo comprimido que contiene una instantánea del proyecto en un momento específico. A diferencia de un clon estándar de Git, este archivo no incluye el historial del repositorio (.git), solo el contenido de los archivos rastreados en la rama o el commit seleccionados. Esto lo hace ideal para compartir el código fuente o empaquetar versiones de lanzamiento de manera eficiente.
Puedes elegir qué rama, etiqueta o commit específico deseas exportar y en qué formato (por ejemplo, .zip o .tar). Además, es posible utilizar opciones para personalizar el contenido del archivo, como incluir solo ciertos directorios o excluir archivos no deseados.
git archive
git archive --format=zip -o proyecto.zip HEAD
Este comando crea un archivo llamado proyecto.zip con el contenido de la rama actual (HEAD).
git archive --format=tar -o rama-feature.tar nombre-de-la-rama
Esto genera un archivo TAR llamado rama-feature.tar con el contenido de la rama nombre-de-la-rama.
Si deseas empaquetar el proyecto en un estado etiquetado (por ejemplo, una versión estable):
git archive --format=zip -o version1.0.zip v1.0
Esto crea un archivo version1.0.zip con el contenido de la etiqueta v1.0.
Si necesitas crear un archivo con solo un subdirectorio específico:
git archive --format=zip -o subdirectorio.zip HEAD:subdirectorio/
Esto genera un archivo ZIP que contiene solo los archivos del subdirectorio subdirectorio/ en la rama actual.
Puedes excluir archivos o carpetas no deseadas utilizando la opción --exclude:
git archive --format=tar --exclude=*.md -o sin-documentacion.tar HEAD
Esto crea un archivo sin-documentacion.tar sin los archivos con extensión .md.
Para más información sobre git archive, consulta la documentación oficial de Git.
Jorge García
Fullstack developer