Início·Comandos de terminal

git archive

git

Uso

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

Exporta os arquivos de um commit como tar ou zip; deixa de fora o .git e os arquivos sem rastreio, o que rende um pacote de release mais limpo que zipar a pasta.

Opções comuns

OpçãoSignificado
--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

Exemplos

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

O confuso é que desfazer tem várias formas: mover para onde um branch aponta não é o mesmo que criar um commit que reverte.

Como ler

  • Os colchetes [ ] marcam uma parte que você pode omitir.
  • As reticências … indicam que você pode listar vários.
  • As opções diferenciam maiúsculas: em alguns comandos -r e -R fazem coisas diferentes.

Perguntas

Q. O que git archive faz?

Exporta os arquivos de um commit como tar ou zip; deixa de fora o .git e os arquivos sem rastreio, o que rende um pacote de release mais limpo que zipar a pasta.

Q. Como se digita?

git archive --format=tar.gz -o <file> <tree-ish> — os colchetes marcam o que você pode omitir.

Q. Quantas opções vale a pena saber?

Aqui estão 6; a lista completa está em man git. Este comando fica em git.

Comandos relacionados

página man: man git-archive