Git archive

Git archive

$ git archive --format=tar.gz --output=../test.tar.gz HEAD

Permite empaquetar en test.tar.gz la rama actual del repositorio actual. Si se abre el tar, estarán solamente los archivos, no la carpeta del repositorio.

$ git archive --format=tar.gz --output=../test.tar.gz --prefix=test/ HEAD

Permite hacer lo mismo, pero colocando todo dentro de la carpeta test/

Así, git archive puede ser una alternativa a tar para este caso:

$ tar --exclude-vcs -cvzf test.tar.gz test
$ tar --exclude=.git --exclude=.gitignore -cvzf test.tar.gz test

Referencias