Inicio·Comandos de terminal

git archive

git

Uso

git archive --format=tar.gz -o <file> <tree-ish>

Exporta los archivos de un commit como tar o zip; deja fuera .git y los archivos sin rastrear, así el paquete de release sale más limpio que comprimir la carpeta.

Opciones habituales

OpciónSignificado
--format=<fmt>tar, zip or tar.gz
-o <file>write to a file; the format is guessed from the name
--prefix=<dir>/put everything under one folder inside the archive
--add-file=<file>include an untracked file as well
--remote=<repo>let the server build it
-llist the formats this build supports

Ejemplos

git archive --format=tar.gz -o app-1.2.0.tar.gz v1.2.0

a release tarball of exactly that tag

git archive --prefix=app/ -o app.zip HEAD

a zip whose contents sit inside app/

git archive -o src.zip HEAD -- src

only the src directory

Lo confuso es que deshacer tiene varias formas: mover a dónde apunta una rama no es lo mismo que añadir un commit que la revierte.

Cómo leerlo

  • Los corchetes [ ] marcan una parte que puedes omitir.
  • Los puntos suspensivos … indican que puedes poner varios.
  • Las opciones distinguen mayúsculas: en algunos comandos -r y -R no hacen lo mismo.

Preguntas

Q. ¿Qué hace git archive?

Exporta los archivos de un commit como tar o zip; deja fuera .git y los archivos sin rastrear, así el paquete de release sale más limpio que comprimir la carpeta.

Q. ¿Cómo se escribe?

git archive --format=tar.gz -o <file> <tree-ish> — los corchetes marcan lo que puedes omitir.

Q. ¿Cuántas opciones vale la pena saber?

Aquí van 6; la lista completa está en man git. Este comando está en git.

Comandos relacionados

página man: man git-archive