Documentation / git-archive.txton commit Merge branch 'jp/send-email-cc' (4e837a9)
   1git-archive(1)
   2==============
   3
   4NAME
   5----
   6git-archive - Create an archive of files from a named tree
   7
   8
   9SYNOPSIS
  10--------
  11[verse]
  12'git-archive' --format=<fmt> [--list] [--prefix=<prefix>/] [<extra>]
  13              [--remote=<repo>] <tree-ish> [path...]
  14
  15DESCRIPTION
  16-----------
  17Creates an archive of the specified format containing the tree
  18structure for the named tree.  If <prefix> is specified it is
  19prepended to the filenames in the archive.
  20
  21'git-archive' behaves differently when given a tree ID versus when
  22given a commit ID or tag ID.  In the first case the current time is
  23used as modification time of each file in the archive.  In the latter
  24case the commit time as recorded in the referenced commit object is
  25used instead.  Additionally the commit ID is stored in a global
  26extended pax header if the tar format is used; it can be extracted
  27using 'git-get-tar-commit-id'. In ZIP files it is stored as a file
  28comment.
  29
  30OPTIONS
  31-------
  32
  33--format=<fmt>::
  34        Format of the resulting archive: 'tar', 'zip'...  The default
  35        is 'tar'.
  36
  37--list, -l::
  38        Show all available formats.
  39
  40--verbose, -v::
  41        Report progress to stderr.
  42
  43--prefix=<prefix>/::
  44        Prepend <prefix>/ to each filename in the archive.
  45
  46<extra>::
  47        This can be any options that the archiver backend understand.
  48        See next section.
  49
  50--remote=<repo>::
  51        Instead of making a tar archive from local repository,
  52        retrieve a tar archive from a remote repository.
  53
  54<tree-ish>::
  55        The tree or commit to produce an archive for.
  56
  57path::
  58        If one or more paths are specified, include only these in the
  59        archive, otherwise include all files and subdirectories.
  60
  61BACKEND EXTRA OPTIONS
  62---------------------
  63
  64zip
  65~~~
  66-0::
  67        Store the files instead of deflating them.
  68-9::
  69        Highest and slowest compression level.  You can specify any
  70        number from 1 to 9 to adjust compression speed and ratio.
  71
  72
  73CONFIGURATION
  74-------------
  75
  76tar.umask::
  77        This variable can be used to restrict the permission bits of
  78        tar archive entries.  The default is 0002, which turns off the
  79        world write bit.  The special value "user" indicates that the
  80        archiving user's umask will be used instead.  See umask(2) for
  81        details.
  82
  83EXAMPLES
  84--------
  85git archive --format=tar --prefix=junk/ HEAD | (cd /var/tmp/ && tar xf -)::
  86
  87        Create a tar archive that contains the contents of the
  88        latest commit on the current branch, and extracts it in
  89        `/var/tmp/junk` directory.
  90
  91git archive --format=tar --prefix=git-1.4.0/ v1.4.0 | gzip >git-1.4.0.tar.gz::
  92
  93        Create a compressed tarball for v1.4.0 release.
  94
  95git archive --format=tar --prefix=git-1.4.0/ v1.4.0{caret}\{tree\} | gzip >git-1.4.0.tar.gz::
  96
  97        Create a compressed tarball for v1.4.0 release, but without a
  98        global extended pax header.
  99
 100git archive --format=zip --prefix=git-docs/ HEAD:Documentation/ > git-1.4.0-docs.zip::
 101
 102        Put everything in the current head's Documentation/ directory
 103        into 'git-1.4.0-docs.zip', with the prefix 'git-docs/'.
 104
 105Author
 106------
 107Written by Franck Bui-Huu and Rene Scharfe.
 108
 109Documentation
 110--------------
 111Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
 112
 113GIT
 114---
 115Part of the gitlink:git[7] suite