Close

git archive: cómo exportar un proyecto de Git

A veces puede resultar útil crear un archivo de almacenamiento de un repositorio de Git. Un archivo de almacenamiento combina varios archivos en uno solo. Después, se puede extraer para reproducir cada uno de los archivos que contiene. Git es increíblemente eficaz para preservar el historial y la colaboración en equipo. Sin embargo, los archivos de almacenamiento eliminan la sobrecarga de los metadatos de Git y pueden ser más fáciles de distribuir a otros usuarios o de conservar en almacenamiento en frío a largo plazo.


¿Qué hace git archive?


El comando git archive es una herramienta de línea de comandos de Git que creará un archivo de almacenamiento a partir de referencias de Git concretas, como confirmaciones, ramas o árboles. git archive acepta argumentos adicionales que alterarán la salida del archivo.

Ejemplos de exportación de Git


Este es el ejemplo más básico de ~git archive~:

git archive --format=tar HEAD

Este comando, cuando se ejecute, creará un archivo a partir de la referencia HEAD actual del repositorio. De forma predeterminada, git archive transmitirá la salida del archivo al flujo efímero stdout. Deberás registrar este flujo de salida en un archivo permanente. Puedes especificar un archivo permanente mediante la opción --output de git archives o mediante la redirección stdout del sistema operativo.

git archive --output=./example_repo_archive.tar --format=tar HEAD
Logotipo de Git
Material relacionado

Chuleta de Git

Logotipo de Bitbucket
VER LA SOLUCIÓN

Aprende a usar Git con Bitbucket Cloud

El ejemplo siguiente creará un nuevo archivo de almacenamiento y lo guardará en el archivo example_repo_archive.tar. En los ejemplos anteriores se ha creado una salida de archivo de almacenamiento sin comprimir. Esto se indica mediante la opción --format=tar. La opción de formato también acepta los conocidos formatos de archivos comprimidos zip y tar.gz. Si se pasa una de estas opciones de formato, se creará un archivo de almacenamiento comprimido. Si no se pasa ningún valor de formato, se deducirá de cualquier opción --output que se haya pasado.

git archive --output=./example_repo_archive.tar.gz --format=tar HEAD ./build

Se pueden crear archivos de almacenamiento parciales del repositorio pasando un argumento de ruta. Este ejemplo añade un argumento de ruta ./build al comando archive. Este comando generará un archivo de almacenamiento que incluirá solo los archivos almacenados en el directorio ./build.

Opciones


Los ejemplos anteriores han ilustrado algunos de los casos de uso más habituales de git archive. A continuación, veremos otras opciones que se pueden pasar a git archive.

--prefix=<prefix>/

Las opciones de prefijo anteponen una ruta a cada uno de los archivos incluidos en un archivo de almacenamiento. Esto puede resultar útil para que el contenido del archivo de almacenamiento se extraiga en un espacio de nombres único.

--remote=<repo>

La opción remota espera una URL de repositorio remoto. Cuando se invoca con la opción remota, git archive recuperará el repositorio remoto y creará un archivo de almacenamiento a partir de la referencia especificada si está disponible en el remoto.

Configuración


Hay algunos valores de configuración de Git globales que ~git archive~ respetará. Estos valores se pueden configurar con la utilidad git config.

tar.umask

La opción de configuración para quitar la máscara (unmask) se usa para especificar la restricción de bits de los permisos a nivel de Unix en el archivo de almacenamiento de salida.

tar.<format>.command

Esta opción de configuración permite especificar un comando de shell personalizado que ejecutará la salida de git archive. Es similar a omitir la opción --output y canalizar el flujo stdout de ~git archive~ a una herramienta personalizada. Esto permite un posprocesamiento fijo del archivo de almacenamiento personalizado.

tar.<format>.remote

Si se habilita, permite a los clientes remotos recuperar archivos de tipo format.

Resumen de git archive

El comando git archive es una herramienta útil para crear paquetes distribuibles de repositorios de Git. Puede apuntar a referencias específicas de un repositorio y solo empaquetar el contenido de esas referencias. Además, tiene varios formatos de salida que pueden utilizar compresión adicional.


Compartir este artículo
Tema siguiente

Lecturas recomendadas

Consulta estos recursos para conocer los tipos de equipos de DevOps o para estar al tanto de las novedades sobre DevOps en Atlassian.

Gente que colabora utilizando un muro lleno de herramientas

Blog de Bitbucket

Ilustración de Devops

Ruta de aprendizaje de DevOps

Demostraciones de funciones con expertos de Atlassian del Centro de demostraciones

Cómo funciona Bitbucket Cloud con Atlassian Open DevOps

Suscríbete para recibir el boletín de DevOps

Thank you for signing up