Git archive, Exportación del contenido de un repositorio

Git archive nos permite exportar el contenido de nuestro proyecto empaquetándolo o comprimiéndolo en un solo fichero.

Git archive no sólo nos permitirá exportar una rama deseada sino que también nos permite seleccionar que directorios o ficheros de esta queremos exportar. Pero recuerda hacer commit de los cambios o estos no serán exportados.

Hay que tener en cuenta que cuando realizamos una exportación el directorio .git/ no será incluido.

Formas de uso

Para exportar una rama de nuestro proyecto en formato zip tecleamos el siguiente comando.

  • El argumento —format nos pemite indicar el formato del fichero (podrá ser tar, tgz, tar.gz y zip)
  • A continuación indicamos la rama que deseamos exportar
  • Y por último el nombre y extensión del fichero.

En caso de no incluir el argumento –format la compresión utilizada será la seleccionada en la extensión del fichero a exportar. Por lo que si nos queremos ahorrar el uso de este argumento teclearemos:

Para comprobar qué formatos de compresión son aceptados por git usaremos el argumento list.  Los formatos permitidos serán tar, tgz, tar.gz y zip.

Sino queremos usar la compresión o empaquetado ofrecida por git, para así poder usar otro aplicación de compresión instalada en nuestro sistema (como puede ser gzip, bzip2, etc …) lo haremos de la siguiente manera:

Si queremos guardar todo el contenido desde el último commit de la rama en la que estamos situados.

Veamos ahora otro ejemplo para guardar un determinado fichero de la rama master

Si queremos seleccionar el contenido de una serie de carpetas y ficheros bastaría con separarlos por espacios

También podemos realizar una exportación desde un repositorio remoto usando el argumento —remote

Configuración de exportación

Para personalizar un poco la exportación vamos a hacer uso del fichero .gitattributes el cual tiene muchas utilidades pero nos centraremos en la de exportación.

Por lo que todos los ficheros o directorios que incluyamos en este fichero con el atributo export-ignore serán ignorados durante la exportación realizada con git archive.

De esta forma podremos exportar un proyecto sin necesidad de incluir ciertas carpetas o ficheros innecesarios y que luego podremos cargar a producción o simplemente para ser utilizado como copia de seguridad.

Recuerda que git archive es un comando muy versatil, potente y con gran cantidad de opciones por lo que si quieres obtener más información puedes consultar

 

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.